DAX ALLEXCEPT会忽略过滤器上下文吗?

时间:2018-10-30 00:09:53

标签: dax powerpivot

使用财政日历时需要季度到季度度量。认为以下方法会起作用:

QTD =
CALCULATE (
    [Total Amount],
    FILTER (
        ALLEXCEPT ( 'Calendar', 'Calendar'[FiscalYear] ),
        'Calendar'[FiscalQuarter] = MIN ( 'Calendar'[FiscalQuarter] )
            && 'Calendar'[Date] <= MAX ( 'Calendar'[Date] )
    )
)

但是,即使ALLEXCEPT函数说不“重置” [FiscalYear]列,该度量的计算也不考虑枢轴坐标的会计年度。因此,该公式仅适用于第一个会计年度。 有人知道为什么该公式不符合我的预期吗? TIA

1 个答案:

答案 0 :(得分:0)

在powerbi.com(链接here)上找到了一个相关的线程,我有点理解。 似乎当您将FILTER函数与日期表一起使用时,它会自动应用ALL()并失去过滤器上下文。 对于我的QTD公式,以下内容可以正常工作:

CALCULATE(
 [Total Amount],
 FILTER(
   ALL( 'Calendar' ),  
   'Calendar'[FiscalYear] = MIN( 'Calendar'[FiscalYear] )
     && 'Calendar'[FiscalQuarter] = MIN( 'Calendar'[FiscalQuarter] )
     && 'Calendar'[Date] <= MAX( 'Calendar'[Date] )
 )
)

如果您知道更简单的公式,请回复。顺便说一句,财政季度末与日历季度末不符。