表格 2016 - DAX 度量:如何引用聚合的计算别名

Tabular 2016 - DAX measure: How to reference a calculation alias for aggregation

我想要每个日期的到期日期大于当前上下文日期的所有值的总和。 代码:

EVALUATE(
    VAR v = ADDCOLUMNS(
        FILTER(
            SUMMARIZE(
                'Dates Expiry',
                [Year]
            ),'Dates Expiry'[Year] <> BLANK()
        ) ,"X", CALCULATE(SUM('LM Property Tenant Unit'[CurrentRent]), FILTER(ALL('LM Property Tenant Unit'), 'LM Property Tenant Unit'[ExpiryYear] > 'Dates Expiry'[Year]))
    )
    RETURN(v)
)

我的 DAX 结果是 2 列;年份和价值:

我现在要做的是参考列 "X" 并对值列表求和以获得总数。

  1. 我曾尝试在另一个摘要中引用该列,但总和 函数需要一个 table 上下文。

有没有办法引用 "X" 并聚合成一个值?

回答:

最后我发现了 DAX GROUPBY 函数,它允许引用内部定义的结果集并对其应用进一步的计算:

GROUPBY(
        FILTER(FILTER(
            SUMMARIZE(
                'Dates Expiry',
                [Year]
                ,"X", CALCULATE(SUM('LM Property Tenant Unit'[CurrentRent]),
                 FILTER(FILTER(ALL('LM Property Tenant Unit'), 'LM Property Tenant Unit'[ExpiryYear] > 'Dates Expiry'[Year]), 'LM Property Tenant Unit'[CommenceDate] < TODAY()))
            ),'Dates Expiry'[Year] <> BLANK()), AND('Dates Expiry'[Year] > YEAR(TODAY()), 'Dates Expiry'[Year] < YEAR(TODAY())+16)
        )
        , "SX", SUMX(CURRENTGROUP(), [X])
    )