Power BI - 将 N 个工作日添加到日期

时间:2021-01-11 23:28:16

标签: powerbi dax powerquery

我有一个日历表,其中有一列存储标志以指示日历日期是否为工作日(工作日)。 WorkDay_FL = 0 表示日期是周末或假日。我想创建一个计算列以将 5 个工作日添加到给定日期。

因此,如果日期 = 12/30/2020,即 30-Dec-2020,那么添加 5 个工作日应该是 1/7/2020(2021 年 1 月 7 日)。

31-Dec-2020 = WeekDay
1-Jan-2021 = Holiday
2-Jan-2021 = Weekend
3-Jan-2021 = Weekend
4-Jan-2021 = WeekDay
5-Jan-2021 = WeekDay
6-Jan-2021 = WeekDay
7-Jan-2021 = WeekDay

DAX 公式或 Power Query 函数都可以。

谢谢

1 个答案:

答案 0 :(得分:0)

最简单的方法是在日历表中创建一个计算表,其中包含工作日的累进数字。例如,假设工作日的 WorkDay_FL 为 1

WorkDayProg = 
VAR CurDate = 'Date'[Date]
RETURN CALCULATE( SUM('Date'[WorkDay_FL]), 'Date'[Date] <= CurDate, REMOVEFILTERS('Date') )

并使用 WorkDayProg 计算列仅计算工作日的未来(或过去)日期

FiveWorkingDaysInTheFuture =
VAR CurrentWorkDay =
    MAX( 'Date'[WorkDayProg] )
RETURN
    CALCULATE(
        MIN( 'Date'[Date] ),
        'Date'[WorkDayProg] = CurrentWorkDay + 5,
        REMOVEFILTERS( 'Date' )
    )

我们使用 MIN,因为非工作日的 WorkDayProg 等于最后一个工作日。