我需要在“ Table2”的计算列中从“ Table1”获得“名称”字段,例如:
表1:
Name | Date
ABC | 5-jan-2017
ABC | 7-jan-2017
DEF | 8-may-2018
DEF | 10-jun-2018
和表2:
Date | CalcColumn
6-Jan-2017 | ABC
25-may-2018 | DEF
逻辑如下:
如果Date
中的Table2
在Table1
的最短日期和最长日期之内,则在Table1
中获得名称。
答案 0 :(得分:1)
我建议重塑Table1
的形状,以使每个Name
都有两列StartDate
和EndDate
而不是将它们放在单独的行中。如果没有,则可以将该表创建为变量,如下所示:
CalcColumn =
VAR Summary =
SUMMARIZE (
Table1,
Table1[Name],
"StartDate", MIN ( Table1[Date] ),
"EndDate", MAX ( Table1[Date] )
)
RETURN
MAXX (
FILTER (
Summary,
Table2[Date] >= [StartDate] &&
Table2[Date] <= [EndDate] ),
Table1[Name]
)
如果数据已重塑,则仅需要RETURN
之后的部分。