[英]Power BI - DAX - table variable - use column for further computation
我在 Power BI Desktop 中使用 DAX 語言。
我有一個棘手的情況,我試圖使用從表變量生成的列名。
表 1:源表
表 2:參考表
我需要根據 ReferenceTable 中的相應列在 SourceTable 中開發一個名為 EmploymentStatus 的計算列。 但我只需要來自 ReferenceTable 的 EmploymentStatus 值,以獲得給定 EmployeeEmail 的最大 InternalID。
例如,對於 SourceTable 中的電子郵件 xyz.gmail.com,我需要將 EmploymentStatus(計算列)從 ReferenceTable 設為“Active”,因為“Active”具有兩個可用 InternalID 值(17、15)中的最大值。
我嘗試了以下代碼(SourceTable 中的計算列):
EmploymentStatus_SourceTable_CalculatedColumn =
VAR tabl1 =
SUMMARIZE (
ReferenceTable,
ReferenceTable[EmployeeEmail],
"MaxInteralID", MAX ( ReferenceTable[InternalID] )
)
VAR tabl2 =
FILTER (
ReferenceTable,
ReferenceTable[InternalID] IN VALUES ( tabl1[MaxInteralID] )
)
VAR NewCol =
LOOKUPVALUE (
tabl2[EmploymentStatus],
tabl2[EmployeeEmail], SourceTable[EmployeeEmail]
)
RETURN
NewCol
我意識到我不能使用從表變量生成的列。
例如, tabl1[MaxInteralID]、tabl2[EmployeeStatus]、tabl2[EmployeeEmail] - 都是無效的。
關於如何處理這個問題的任何想法? 您甚至可以為我提供一個完全不使用變量的解決方案。 我可以接受任何解決方案。
與此處類似,您可以找到每封電子郵件的最大 ID 並查找該 ID 的狀態。
為便於閱讀而縮短表名和列名:
CalcCol =
VAR Email = Source[Email]
VAR MaxID = CALCULATE ( MAX ( Ref[ID] ), Ref[Email] = Email )
RETURN
LOOKUPVALUE ( Ref[Status], Ref[Email], Email, Ref[ID], MaxID )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.