SSAS多维数据集:仅针对一家公司的不同计算

时间:2018-11-28 11:04:21

标签: ssas olap-cube

这是我的问题:我有一个供多个生产公司使用的SSAS多维数据集。公司数据是“机器”维度的一部分:

[Machine].[Company code]

然后我有两种措施:

[Measures].[OEE] and [Measures].[OEE for company X]

在这种情况下,我必须对X公司使用第二个度量,对所有其他公司使用第一个度量。

是否有一种方法可以制定单个度量,从而为X公司显示一个度量,而对其他公司则显示另一个度量?

1 个答案:

答案 0 :(得分:2)

可能有几种情况(基于来源,底层逻辑等)

  1. 用于基于列的物理度量。使用T-SQL在数据源视图中创建计算列:case when {company X} then {column for this company} else {columns for other companies} end。将其用作多维数据集中的物理度量。

  2. 用于物理度量和计算度量。隐藏现有度量,使用MDX创建新的计算度量:IIF([Machine].[Company code].CurrentMember is [Machine].[Company code].&[X],[Measures].[OEE for company X],[Measures].[OEE])

  3. 如果两者都只允许[OEE]名称。重命名现有的[OEE],同时隐藏两者,并从上面的#2创建新的计算量度为[Measures].[OEE] as IIF([Machine].[Company code].CurrentMember is...

  4. 使用SCOPE语句。 SCOPE([Machine].[Company code].&[X],[Measures].[OEE]); THIS=[Measures].[OEE for company X]; END SCOPE;

  5. 使用直接方式:([Machine].[Company code].&[X],[Measures].[OEE])=[Measures].[OEE for company X];

请使用其中任何一个或使用更多详细信息更新您的问题。