获取日期之间的列搜索值

时间:2019-02-04 18:19:25

标签: powerbi dax

我需要在“ 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中的Table2Table1的最短日期和最长日期之内,则在Table1中获得名称。

1 个答案:

答案 0 :(得分:1)

我建议重塑Table1的形状,以使每个Name都有两列StartDateEndDate而不是将它们放在单独的行中。如果没有,则可以将该表创建为变量,如下所示:

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之后的部分。