SSAS表格模型动态管理视图和存储过程

SSAS表格模型动态管理视图和存储过程,ssas,ssas-tabular,Ssas,Ssas Tabular,有几个动态管理视图(DMV)可用于从SSM(此处的文档)查询表格模型中的元数据 我的问题是,我需要定义表的底层SQL查询,事实上,我需要为我的表格模型创建一个表名、表查询列表,我不想在处理100个表和几个模型时手动执行 我知道外部程序集中提供的analysis services存储过程可以平坦化从DISCOVER_XML_元数据返回的XML。github上的项目称为ASSP() 我的问题是,具体来说,这些存储过程中的哪一个使我能够使用表名和相应的SQL视图生成所需的列表(在VisualStudi

有几个动态管理视图(DMV)可用于从SSM(此处的文档)查询表格模型中的元数据

我的问题是,我需要定义表的底层SQL查询,事实上,我需要为我的表格模型创建一个表名、表查询列表,我不想在处理100个表和几个模型时手动执行

我知道外部程序集中提供的analysis services存储过程可以平坦化从DISCOVER_XML_元数据返回的XML。github上的项目称为ASSP()

我的问题是,具体来说,这些存储过程中的哪一个使我能够使用表名和相应的SQL视图生成所需的列表(在VisualStudio编辑器中,它位于表属性下,并且我能够在导入表时定义它)。最好是,我也希望查询,但只需使用底层数据源视图名称即可,例如:

TablerModel、TableTable、DatabaseSourceView

其他详情: 兼容性级别:1103(SQL Server 2012/2014 SP1)

如果外部程序集不能提供我想要的信息,我不想麻烦地安装外部程序集,但也不想解析XML输出,因此这似乎是生成此元数据列表的最佳选择,但我不确定是否已经存在内置存储过程,或者是否需要进行大量编码

我将使用Excel中的PowerQuery(又名.Get&Transform)解析Model.bim文件的XML,以获取所需的信息

  • 转到“数据”选项卡,单击“从文件获取数据”>“从XML获取数据”

  • 将文件选择对话框指向Model.bim文件,然后单击“编辑”

  • Power Query有时会选择将文件作为文本而不是XML导入,因此请确保通过单击“源”步骤中的小齿轮将其更改为XML,然后在“打开文件为”下拉列表中选择“XML表格”:
  • 删除“更改类型”步骤
  • 通过在单元格内单击向下导航XML结构,直到找到所需的数据。在此过程中,您可以根据需要展开列。请参见此gif:
  • 如果您没有从gif中捕获它,则以下是演练路径:

    • 对象定义
      • 数据库
        • 立方体
          • 立方体
            • 测量组
              • MeasureGroup(保留名称和分区列)
                • 展开分区(保留名称和源)
                  • 展开源(保留查询定义)
    最终结果应该是表格模型中的表列表,每个表的每个分区以及每个分区中使用的查询

    如果您有多个模型,可以将所有Model.bim文件放在一个文件夹中,然后让Power Query迭代所有这些文件,将所有文件合并到一个列表中


    祝你好运

    ASSP仅适用于多维模型SHI Greg。啊,好吧,这把我的想法吹了出来。除了编写某种XML解析器之外,还有其他方法可以获取这些数据吗?将表格模型导出到表格项目,然后可以分解XML以获取SQL语句。Hi@Nick.McDermaid是否有任何文档可以告诉我在哪里可以找到model.bim文件的模式?PowerQuery(在Excel或Power BI Desktop中)对于XML解析非常有用。如果您在PowerQuery中以XML形式加载Model.bim,我打赌您可以在几分钟内找到源查询,并准确输出模型中所有表所需的信息。太好了,我将尝试一下!