【问题标题】:Power BI - Add N WorkDays to a DatePower BI - 将 N 个工作日添加到日期
【发布时间】:2021-01-11 23:28:16
【问题描述】:

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

因此,如果日期 = 2020 年 12 月 30 日,即 2020 年 12 月 30 日,那么添加 5 个工作日应该会给我 2020 年 1 月 7 日(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 函数都可以使用。

谢谢

【问题讨论】:

  • 如果您准确地发布您的数据是什么样的,这会更清楚。该框是否包含您的“标志”列?框中的项目是否都在同一列中?

标签: powerbi dax powerquery


【解决方案1】:

最简单的方法是在日历表中创建一个计算表,其中包含工作日的累进数字。例如,假设您的 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 等于最后一个工作日。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2013-01-28
    • 1970-01-01
    • 2017-04-05
    • 2015-10-13
    相关资源
    最近更新 更多