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

DAX JOIN if a value is between two dates

在 Table A 中,我有一个名为“销售日期”的日期字段。在 Table B 中,我有开始日期、结束日期和财政季度。我想要一个新的 Table,销售日期来自 Table A,财政季度来自 Table B。我如何在 DAX 中做到这一点?由于 PowerBI 中的大多数 UI 只允许相等。

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

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]))