有几种动态管理视图(DMV)可用于从SSMS查询表格模型中的元数据(此处的文档https://docs.microsoft.com/en-us/sql/analysis-services/instances/use-dynamic-management-views-dmvs-to-monitor-analysis-services?view=sql-server-2017)。
我的问题是我需要定义表的基础SQL查询,实际上我需要为表格模型创建table_name,table_query的列表,并且我不想在处理时手动进行操作有上百张桌子和几种型号。
我知道外部程序集中的分析服务存储过程可以使从DISCOVER_XML_METADATA返回的XML变平。 github上的项目称为ASSP(github link)
我的问题是,特别是这些存储过程中的哪一个可以使我生成带有表名和相应SQL视图的所需列表(在Visual Studio编辑器中,该列表位于“表属性”下,当我能够定义它时)导入表格)。最好,我也希望查询,但是只需要具有基础数据源视图名称就可以了,
TabularModel,TabularTable,DatabaseSourceView
兼容性级别:1103(SQL Server 2012/2014 SP1)
如果不想给我提供我想要的信息但又不想解析XML输出,那么我不想麻烦安装外部程序集,因此这似乎是最好的选项来生成此元数据列表,但是我不确定是否已经有内置存储的proc或是否需要进行大量编码。
答案 0 :(得分:1)
我将在Excel中使用PowerQuery(又名Get&Transform)来解析Model.bim文件的XML,以获得所需的信息。
将文件选择对话框指向Model.bim文件,然后单击“编辑”。
如果您没有从gif中捕获它,则为钻取路径:
最终结果应该是表格模型中的表的列表,其中每个表的每个分区以及每个分区内使用的查询。
如果有多个模型,可以将所有Model.bim文件放在一个文件夹中,然后让Power Query对其进行迭代以将所有内容组合到一个列表中。
祝你好运!