powerbi - Power BI - 将 N 个工作日添加到日期
问题描述
我有一个日历表,其中有一列存储标志以指示日历日期是否为工作日(工作日)。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 函数都可以使用。
谢谢
解决方案
最简单的方法是在日历表中创建一个计算表,其中包含工作日的累进数字。例如,假设您的 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 等于最后一个工作日。
推荐阅读
- python - Heroku 无法检测 Procfile (Pycharm)
- amazon-web-services - 允许临时访问 DynamoDB
- python - 如何为 keras 使用 pyinstaller?
- php - 更改 slug 的前缀
- android-studio - 无法从导入的颤振项目中找到 main.dart 和 lib 文件夹
- javascript - Youtube iframe - '全屏不可用'
- python - 如何找出所有具有 0 个非空值的列?
- json - 如何在 Klarna 付款方式中集成 PayPal
- html - 如何摆脱 vuejs 中页脚下的边距
- java - 根据用户名从数据库表中打印用户信息