这些Power BI表之间的唯一区别是,在 Table7 中, Year 列是根据 Date 列计算的。
Year = YEAR(DATE(LEFT(Table7[Date],4),1,1))
然后,我使用看似相同的度量公式,但仅在一种情况下,我获得了正确的值。
我尝试创建一种用于计算“运行产品”的度量。如果我使用计算列(右侧的 Table7 ),则度量显示错误的值。
如何使用计算列( Table7 )使度量有效?
我的DAX公式,用于计算度量ProductC1
和ProductC1_2
:
ProductC1 = CALCULATE(
PRODUCT(Table6[c1]),
FILTER(
ALL(Table6[Year]),
Table6[Year]<=MAX(Table6[Year])
)
)
ProductC1_2 = CALCULATE(
PRODUCT(Table7[c1]),
FILTER(
ALL(Table7[Year]),
Table7[Year]<=MAX(Table7[Year])
)
)
如果使用SUM
代替PRODUCT
,则同样适用。
更新
虽然我仍然不明白为什么相同的度量公式使用常规列与计算列的工作原理不同,但是我找到了一种解决方案,可以使用计算列获得正确的结果。我已经删除了ALL
公式中的列名引用,仅保留了表名。现在,我使用ALL(Table7)
。