Power BI 如何根据条件在日期表中创建新列并引用另一个表

时间:2021-06-24 12:58:39

标签: powerbi dax

我有一个名为“dDate”的日期表,如下所示:

Date        
01/01/2020
02/01/2020
03/01/2020

我有另一个名为“日历”的表,如下所示。请注意,并非所有日期都包含在此表中。

Date        Holiday
01/01/2020  1
03/01/2020  0

我想在 dDate 表中添加一列“HolidayDate”,其中对于特定日期,如果 Calendar 中的“Holiday”=1,则值为 1,否则值为 0。因此,HolidayDate 列看起来对于日历表中的日期,检查假日是否为 1,如果是则返回 1。

因此 dDate 表中的输出应如下所示:

Date        HolidayDate
01/01/2020  1
02/01/2020  0
03/01/2020  0

我想添加一个新列并指定一个实现上述目的的公式。我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果Calendar和dDate有关系,可以在dDate创建如下计算列

HolidayfromCalendar = RELATED('Calendar'[Holiday])

如果Calendar和dDate没有关系,可以在dDate中创建如下计算列

HolidayfromCalendar =
CALCULATE (
    MAXX (
        FILTER ( 'Calendar', 'Calendar'[Date] = MAX ( dDate[Date] ) ),
        'Calendar'[Holiday]
    )
)

答案 1 :(得分:0)

如果您在带有日期的源表和带有日历的表之间创建一个简单的关系,那么您可以使用源表的假日日期,PowerBI 将为您进行连接。您不需要“复制”假日指标。事实上,假期指示器属于日历表,因为这实际上是 Kimball 模型中的日期维度。

根据评论,如果您的模型不是您要更改的,或者您已经将自己画到了一个复杂的角落,您可以求助于使用 LOOKUPVALUE 来拉取数据。请注意,这可能会对庞大的数据集产生性能影响。