如果值在两个日期之间,则DAX JOIN

时间:2018-03-28 16:30:50

标签: powerbi dax

在表A中,我有一个名为Sales Date的日期字段。在表B中,我有开始日期,结束日期和会计季度。我想要一张新表,其中包含表A中的销售日期和表B中的财务季度。我将如何在DAX中执行此操作?由于PowerBI中的大多数UI只允许相等。

1 个答案:

答案 0 :(得分:1)

如果你想把它作为一个新表,你可以这样做:

NewTable = SUMMARIZECOLUMNS(
               TableA[SalesDate],
               "FiscalQuarter",
               CALCULATE(
                   MAX(TableB[FiscalQuarter]),
                   TableB[StartDate] <= VALUES(TableA[SalesDate]),
                   TableB[EndDate] >= VALUES(TableA[SalesDate])))

您也可以在FiscalQuarter上添加TableA作为计算列:

FiscalQuarter = CALCULATE(
                    MAX(TableB[FiscalQuarter]),
                    FILTER(TableB,
                        TableB[StartDate] <= TableA[SalesDate] &&
                        TableB[EndDate] >= TableA[SalesDate]))