有许多场景都需要导出度量值、计算表与计算列等公式,比如报表迁移或撰写项目文档等等,因此本篇文章将介绍两种导出的方法。
通过DAX Studio导出
1、导出所有度量值
打开DAX Studio,在左侧DMV菜单栏中搜索Measure,双击MDSCHEMA_MEASURES
或TMSCHEMA_MEASURES
并运行,即可得到与度量值相关的查询结果,然后将结果导出即可,具体如下图所示。
2、导出所有列
打开DAX Studio,在左侧DMV菜单栏中搜索DBSCHEMA_COLUMNS
,双击DBSCHEMA_COLUMNS
并运行,即可得到相关的查询结果,然后将结果导出即可,具体如下图所示。
DAX Studio的DMV菜单栏中已经预设了许多常见的查询,如果还需要其它信息,比如模型中的所有表等等,那么可以搜索相应的关键字运行对应的查询项即可。
通过VertiPaq Analyzer导出
1、打开DAX Studio,在顶部Advanced菜单栏下找到Export Metrics选项,导出vpax文件
2、打开VertiPaq Analyzer外部工具,该外部工具是一个Excel文件。然后在顶部相应菜单栏下找到Open Vpax选项,导入由DAX Studio所导出的vpax文件
3、导入完成后,在底部各工作表中即可查看到模型中的各种信息,比如所有度量值或表等等
VertiPaq Analyzer底部各工作表的信息均来自Power Pivot,并且Power Pivot中的信息更丰富。
如果对默认提供的工作表内容不满意,还可以通过DAX查询来自定义查询所需要的内容。比如以下是几个我较常用到的DAX查询,在保留核心内容的情况下剔除了部分信息,与工作表的内容相比会更清爽一些。
导出所有度量值:
EVALUATE
SELECTCOLUMNS(
DaxExpressions,
"Table",[Table],
"Type",[Type],
"Name",[Name],
"DAX Expression",[DAX Expression],
"DisplayFolder",[DisplayFolder],
"FormatString",[FormatString],
"IsHidden",[IsHidden],
"Description",[Description]
)
导出所有列:
EVALUATE
SELECTCOLUMNS(
'Columns',
"ColumnName",[ColumnName],
"TableName",[TableName],
"FullColumnName",[FullColumnName],
"ColumnCardinality",[ColumnCardinality],
"DataType",[DataType],
"ColumnType",[ColumnType],
"IsHidden",[IsHidden],
"ColumnExpression",[ColumnExpression],
"FormatString",[FormatString],
"Description",[Description]
)
导出所有关系:
EVALUATE
SELECTCOLUMNS(
Relationships,
"FromTableName",[FromTableName],
"FromFullColumnName",[FromFullColumnName],
"FromCardinalityType",[FromCardinalityType],
"ToTableName",[ToTableName],
"ToFullColumnName",[ToFullColumnName],
"ToCardinalityType",[ToCardinalityType],
"IsActive",[IsActive],
"Relationship",[Relationship],
"Cardinality (Filter)",[Cardinality (Filter)]
)
总结
导出模型信息需要依赖外部工具,下面是本篇文章中用到的外部工具的下载链接: