我的任务是将现有的MDX度量(从多维模型)转换为DAX (表格模型)。在这个任务中,我发现在DAX中没有像在MDX中那样使用"CREATE“选项的功能。但是我有一些成员是在这个多维数据集中由这个函数创建的(而不是在DWH中)。在这种情况下,我试图弄清楚如何在表格模型(DAX)中进行相同的(等效)操作。
我现在正在替换代码的一部分:
CREATE MEMBER CURRENTCUBE.[Condition].[Condition].[All].[NEW+USED]
AS [Condition].[Condition Type].[NEW]+[Condition].[Condition Type].[USED]
图像:
有一个来自DWH的条件表示例:
我有一个想法:使用UNION创建一个基于此表的视图,以便在该视图中添加一个新行"NEW+USED“,而不是对所有度量使用开关内部多维数据集(DAX函数)。
例如,:
NVC:=
VAR GALC = [ABC] + [CDE]
RETURN SWITCH(
SELECTEDVALUE('Condition'[ConditionTotal]);
"ConditionTotal"; GALC;
"NEW+USED"; CALCULATE(
GALC;
FILTER(ALL('Condition'[ConditionDescription]); 'Condition'[ConditionDescription] = "New" && 'Condition'[ConditionDescription] = "Used")
)
)
但我不确定它是否正确,因为在本例中,我应该填充表中的所有列,其中一些列用于多维数据集中事实表的关系中。
发布于 2019-04-23 10:12:41
我目前发现的唯一一个好的解决办法是:
,例如度量:
My_measure:=
VAR New_var = CALC(SUM('FactTable'[Price]), 'Condition'[ConditionDescription] = "New")
VAR Used_var = CALC(SUM('FactTable'[Price]), 'Condition'[ConditionDescription] = "Used")
VAR New_and_Used_var = CALC(SUM('FactTable'[Price]), ALL('Condition'), 'Condition'[ConditionDescription] in {"New","Used"})
RETURN
SWITCH (SELECTEDVALUE('Condition'[ConditionDescription]),
"New", New_var,
"Used",Used_var,
"New + Used", New_and_Used_var
)
另外,我做的唯一一件事是在我的"FactTable“和这个新的数据库对象(视图)之间引用为非活动(引用窗口中未选中的”活动“标志),因为它不能正确地使用此标志。
https://stackoverflow.com/questions/54110316
复制相似问题