这是我的问题:我有一个供多个生产公司使用的SSAS多维数据集。公司数据是“机器”维度的一部分:
[Machine].[Company code]
然后我有两种措施:
[Measures].[OEE] and [Measures].[OEE for company X]
在这种情况下,我必须对X公司使用第二个度量,对所有其他公司使用第一个度量。
是否有一种方法可以制定单个度量,从而为X公司显示一个度量,而对其他公司则显示另一个度量?
答案 0 :(得分:2)
可能有几种情况(基于来源,底层逻辑等)
用于基于列的物理度量。使用T-SQL在数据源视图中创建计算列:case when {company X} then {column for this company} else {columns for other companies} end
。将其用作多维数据集中的物理度量。
用于物理度量和计算度量。隐藏现有度量,使用MDX创建新的计算度量:IIF([Machine].[Company code].CurrentMember is [Machine].[Company code].&[X],[Measures].[OEE for company X],[Measures].[OEE])
。
如果两者都只允许[OEE]名称。重命名现有的[OEE],同时隐藏两者,并从上面的#2创建新的计算量度为[Measures].[OEE] as IIF([Machine].[Company code].CurrentMember is...
。
使用SCOPE语句。 SCOPE([Machine].[Company code].&[X],[Measures].[OEE]);
THIS=[Measures].[OEE for company X];
END SCOPE;
使用直接方式:([Machine].[Company code].&[X],[Measures].[OEE])=[Measures].[OEE for company X];
请使用其中任何一个或使用更多详细信息更新您的问题。