首页 > 解决方案 > 每个月前 5 个工作日的计算列

问题描述

我想在 Power BI 的日历表中计算列。计算栏应在日历表中每个月的前 5 个工作日显示为“1”,其余天数应为“0”。我试图得出如下所示的公式

tick = CALCULATE(COUNT('Calendar'[Weekend - weekday]), 'Calendar'[IsWorkingDay] = TRUE)

日历表

但它在所有工作日显示“1”,但期望输出是每个月的前 5 个工作日。任何人都可以帮助我

标签: powerbidaxcalculated-columns

解决方案


假设这是您的原始表,新列为Weekday-weekend,您可以使用 计算新列以在前五个工作日显示 0 rankx & If,然后为 0,其他情况为空白,这是 dax 公式:

备注1和都0需要带引号,因为使用 with""而不转换为字符串会导致Data is variant type错误。

tick1 = 
var rank1 = RANKX(FILTER(Sheet1,Sheet1[Weekday-Weekend] = "Weekday" && Sheet1[Period] = EARLIER(Sheet1[Period]) ),Sheet1[Day],,ASC)
return
IF(Sheet1[Weekday-Weekend] = "Weekday" && rank1 >=1 && rank1 <=5, "1", 
    IF(Sheet1[Weekday-Weekend] = "Weekday", "0",""))

添加列的表

在此处输入图像描述


推荐阅读