【问题标题】:DAX calculated column - NEXTMONTH() value, shift row contextDAX 计算列 - NEXTMONTH() 值,移位行上下文
【发布时间】:2022-01-11 05:00:02
【问题描述】:

我已成功计算出“WorkDaysPassed - Current Mo”。这是一个计算列,用于计算当月已过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。本月结束于“2022 年 1 月 31 日”。

我需要帮助弄清楚如何在前几个月的日期记录上打印相同的值。上个月结束于“2021 年 12 月 31 日”。计算的列将命名为“WorkDaysPassed - Closing Month”。我认为NEXTMONTH() 计算可以在聚合函数中做到这一点。

如何在计算列中执行此操作?以下是我目前尝试计算的结果。

正确计算

  1. 这是一个计算列,用于计算当月已过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。
WorkDaysPassed - Current Mo = 
IF( NOT('Calendar'[IsCurrentMonth]), BLANK(), 
CALCULATE(
    COUNTROWS ( 'Calendar' ),
    'Calendar'[Date],
    'Calendar'[IsWorkingDay] = TRUE 
    && 'Calendar'[Date] <= TODAY ()
    && MONTH('Calendar'[Date]) = MONTH(TODAY())
    && YEAR('Calendar'[Date]) = YEAR(TODAY())
))

尝试的计算

  1. 它为日期表中的每一行打印 186。
WorkDaysPassed - Closing Month = 
CALCULATE(SUM('Calendar'[WorkDaysPassed - Current Mo]), ALL('Calendar') ) 

表格数据样本

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    我能够通过定义一个计算的度量并在计算列中引用该度量来完成这项工作。

    计算量度:

    1. WorkingDays - MTD 当前月
    WorkingDays - MTD Current Mo = 
    IF( NOT(VALUES('Calendar'[IsCurrentMonth])), BLANK(),
    CALCULATE (
            COUNTROWS ( 'Calendar' ),
            'Calendar'[Date],
            'Calendar'[IsWorkingDay] = TRUE 
            && 'Calendar'[Date] <= TODAY ()
            && MONTH('Calendar'[Date]) = MONTH(TODAY())
            && YEAR('Calendar'[Date]) = YEAR(TODAY())
    ))
    
    1. 工作日 MTD - 结束月份
    Working Days MTD - Closing Month = 
    IF(NOT(HASONEVALUE('Calendar'[Mo-Yr])),BLANK(), 
    CALCULATE (
        [WorkingDays - MTD Current Mo],
        NEXTMONTH ( 'Calendar'[Date] ) 
    ))
    
    

    计算列:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多