我正在寻找一种方法来检查一个多维数据集是否可访问,即它是否被处理而没有被破坏。
示例:我有一个工作的多维数据集,我完全处理了一个共享维度,以便多维数据集被破坏。
是否有任何mdx或xmla方法可以找出哪些多维数据集可访问/处理?
答案 0 :(得分:3)
有一个XMLA命令DISCOVER_XML_METADATA可以返回其他属性中的数据库状态(进程/未处理)。我没有最好的XMLA处理,所以我不知道如何获得你需要的部分,但是这个查询将以XML的形式返回结果,你可以从那里解析它。
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_METADATA</RequestType>
<Restrictions>
<RestrictionList>
<DatabaseID>AdventureWorks2012MD</DatabaseID>
</RestrictionList>
</Restrictions>
<Properties>
<PropertyList>
</PropertyList>
</Properties>
</Discover>
此请求从与SSAS数据库相关的对象中获取名为AdventureWorks2012M的属性。在结果中,您将看到以下内容:
<Database>
<Name>AdventureWorks2012MD</Name>
<ID>AdventureWorks2012MD</ID>
<CreatedTimestamp>2013-08-01T01:41:10.926667</CreatedTimestamp>
<LastSchemaUpdate>2013-08-01T01:45:05.91</LastSchemaUpdate>
<Description />
<LastProcessed>2013-08-01T01:46:39.713333</LastProcessed>
<State>Processed</State>
<LastUpdate>2014-01-07T19:41:45.146667</LastUpdate>
<AggregationPrefix />
<Language>1033</Language>
<Collation>Latin1_General_CI_AS</Collation>
<Visible>true</Visible>
...
您关心该数据库的<State>Processed</State>
。您还可以通过将MeasureGroupID或DimensionID添加到限制列表中来获取每个维度和度量值组的状态。