DAX度量在Excel和Power BI Matrix中显示不同的结果(使用SSAS表格模型)

时间:2019-07-15 23:26:05

标签: powerbi dax ssas-tabular

我看到使用SSAS表格模型(可比较级别1200)的某些奇怪行为。我正在跟踪有序的项目里程碑,其中一些已经完成。我的Power BI矩阵和Excel数据透视表的项目名称为行,里程碑为列。

我的度量标准计算每个项目的最大已完成里程碑订单。这将在其他计算中用于设置单元格颜色。

添加度量时,我希望数据透视表或矩阵的一行上的所有值都具有相同的值。我使用Excel 2013连接到表格模型,并且数据透视表按预期工作。然后,我将Power BI连接到相同的表格模型,并添加了具有相同行,列和值的矩阵。在Power BI中,我为该行中的每个条目看到一个不同的值。好像矩阵不让我脱离矩阵列提供的过滤器上下文。

我找到了一种使它起作用的方法,但是我不明白为什么一个度量在Excel和Power BI中都能工作,而另两个只能在Excel中起作用。我无法显示真实数据,但是下面的图片很好地说明了问题。

数据看起来像这样: Example data

Excel产生如下结果: Excel results

Power BI Matrix显示如下结果: Power BI Results

下面的第一个措施有效。后两个不是。

 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
        )
    )*/

0 个答案:

没有答案