2016-11-28 68 views
0

對於每個日期,我希望所有值的總和超過當前上下文日期的到期日期。 代碼:表格2016 - DAX度量:如何引用聚合的計算別名

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]
  • 2018 68917213.56
  • 2019 68399351.84
  • 2020 67828645.39

我想現在做什麼是參考列「X」並且總和值的列表以獲得總數。

  1. 我已經嘗試引用另一個彙總列但總和 函數想要一個表上下文。

有沒有辦法引用「X」和聚合到一個值?

+0

你有兩個選擇,創建一個計算表(現在可以在SSAS 2016中使用),您可以從任何查詢中引用該表。或者在不按年份彙總的情況下創建新的查詢。 –

+0

謝謝,我接下來會看看這個。看看我確定我的答案是什麼。 – j3r0

回答

0

最後,我發現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]) 
    )