0

有没有办法在 SSAS 多维数据集计算中访问系统表?

例如,可以在 SSAS 多维数据集上执行以下查询以返回最后处理的日期:

SELECT LAST_DATA_UPDATE FROM $System.MDSCHEMA_CUBES WHERE CUBE_NAME = 'Cube'

在计算中如何访问这些信息?

背景:我们之前使用 ASSP(第三方存储过程)来获取最后一个多维数据集处理日期。最近,这个存储过程在我们的一个多维数据集上抛出了一个异常,导致 SSAS 宕机。使用上面的 MDX 行没有这种行为。我宁愿我们的多维数据集不依赖于第三方代码,所以我正在寻找一种方法来访问特定多维数据集名称的计算中的 LAST_DATA_UPDATE。

4

1 回答 1

1

我通常在我的多维数据集中包含一个分离的维度,例如“.Cube Information”,其中包括这样的属性。其他有用的属性可能会暴露数据的流通性,例如最后一个底层 ETL 过程何时完成,或者您的多维数据集的发布/构建。

我从一个 SQL 视图中提供这个“多维数据集信息”维度,该视图返回一个包含所需数据的单行 - 您可以使用您的 SELECT 语句。它还需要返回一个具有固定值的 Key 列,例如 1。

“分离”是指“多维数据集信息”维度在多维数据集维度关系选项卡中没有条目。

在多维数据集计算脚本中,我将该维度的 DEFAULT_MEMBER 属性分配给 SSAS 视图中的固定键值。

然后,任何客户端工具都可以访问这些 Dimension 属性。

于 2012-11-02T02:29:42.170 回答