我看到使用SSAS表格模型(可比较级别1200)的某些奇怪行为。我正在跟踪有序的项目里程碑,其中一些已经完成。我的Power BI矩阵和Excel数据透视表的项目名称为行,里程碑为列。
我的度量标准计算每个项目的最大已完成里程碑订单。这将在其他计算中用于设置单元格颜色。
添加度量时,我希望数据透视表或矩阵的一行上的所有值都具有相同的值。我使用Excel 2013连接到表格模型,并且数据透视表按预期工作。然后,我将Power BI连接到相同的表格模型,并添加了具有相同行,列和值的矩阵。在Power BI中,我为该行中的每个条目看到一个不同的值。好像矩阵不让我脱离矩阵列提供的过滤器上下文。
我找到了一种使它起作用的方法,但是我不明白为什么一个度量在Excel和Power BI中都能工作,而另两个只能在Excel中起作用。我无法显示真实数据,但是下面的图片很好地说明了问题。
下面的第一个措施有效。后两个不是。
max_complete_milestone:=
CALCULATE(
MAXX(
FILTER(
ALL(milestones[milestone_display_name], milestones[milestone_order], milestones[is_milestone], milestones[is_complete_milestone]),
milestones[is_complete_milestone] = 1 && milestones[is_milestone] = 1
),
[max_order]
)
)
/* These two versions do not work!!! */
/*
CALCULATE(
MAXX(
FILTER(
ALL(milestones[milestone_display_name], milestones[milestone_order], milestones[is_milestone], milestones[is_complete_milestone]),
milestones[is_complete_milestone] = 1 && milestones[is_milestone] = 1
),
MAX(milestones[milestone_order]) ------------- This does not work even though [max_order] is the exact same code.
)
)
*/
/*CALCULATE(
MAX(milestones[milestone_order]),
FILTER(
ALL(milestones[is_complete_milestone], milestones[is_milestone], milestones[milestone_display_name]),
milestones[is_complete_milestone] = 1 && milestones[is_milestone] = 1
)
)*/