首页 > 解决方案 > DAX日历动态假期功能

问题描述

我正在为整个公司建立我们的个人日历。设置了典型的基本列(周、月、年)。我正在使用这样的方法:

Calendar = 
VAR BaseCalendar =
    CALENDAR ( DATE ( 2016; 1; 1 ); DATE ( 2025; 12; 31 ) )
RETURN
    GENERATE (
        BaseCalendar;
        VAR BaseDate = [Date]
        VAR Year =
            YEAR ( BaseDate )
        VAR MonthNumber =
            MONTH ( BaseDate )
        VAR WeekNumber =
            WEEKNUM ( BaseDate )
        VAR FWeek =
            WEEKNUM ( BaseDate; 21 )
        RETURN
            ROW (
                "Day"; BaseDate;
                "Year"; Year;
                "Month Number"; MonthNumber;
                "Month"; FORMAT ( BaseDate; "mmmm" );
                "Year Month"; FORMAT ( BaseDate; "yyyy-mm" );
                "Day of Week"; FORMAT ( BaseDate; "dddd" );
                "Day of Week Short"; FORMAT ( BaseDate; "ddd" )
            )
    )

现在我正在寻找一个动态函数来为我们的假期添加一列。我们的大部分假期都基于固定日期,例如 25.12 或 26.12。东部地区的日子充满活力。

有人对此有任何想法吗?我不想使用包含所有假期日期的附加表格。

标签: excelpowerbidaxpowerpivot

解决方案


复活节被定义为 3 月 21 日或之后的第一个满月之后的第一个星期日。理论上,您可以动态定义计算机,但我真的不建议尝试在 DAX 中编写月球周期逻辑,而不是有一个固定的假期日期桌子。

也就是说,完全可以在日历表定义中将假期日期表定义为 VAR,这样您的模型中就没有另一个物理表。


推荐阅读