DAX 计算列 - NEXTMONTH() 值,移动行上下文
DAX calculated column - NEXTMONTH() value, shift row context
我已成功计算 "WorkDaysPassed - Current Mo"。这是一个计算列,用于计算当月已经过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。本月结束于“2022 年 1 月 31 日”。
我需要帮助弄清楚如何在前几个月的日期记录中打印相同的值。上个月结束于“12/31/2021”。计算的列将命名为 "WorkDaysPassed - Closing Month"。我认为 NEXTMONTH()
计算可以在聚合函数中执行此操作。
如何在计算列中执行此操作?以下是我到目前为止尝试计算的内容。
计算正确
- 这是一个计算列,计算当月已经过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。
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())
))
尝试计算
- 日期 table 中的每一行都打印 186。
WorkDaysPassed - Closing Month =
CALCULATE(SUM('Calendar'[WorkDaysPassed - Current Mo]), ALL('Calendar') )
Table数据样本
我能够通过定义计算量度并在计算量列中引用该量度来实现此功能。
计算量度:
- WorkingDays - MTD 当前 Mo
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())
))
- 工作日 MTD - 结束月份
Working Days MTD - Closing Month =
IF(NOT(HASONEVALUE('Calendar'[Mo-Yr])),BLANK(),
CALCULATE (
[WorkingDays - MTD Current Mo],
NEXTMONTH ( 'Calendar'[Date] )
))
计算列:
我已成功计算 "WorkDaysPassed - Current Mo"。这是一个计算列,用于计算当月已经过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。本月结束于“2022 年 1 月 31 日”。
我需要帮助弄清楚如何在前几个月的日期记录中打印相同的值。上个月结束于“12/31/2021”。计算的列将命名为 "WorkDaysPassed - Closing Month"。我认为 NEXTMONTH()
计算可以在聚合函数中执行此操作。
如何在计算列中执行此操作?以下是我到目前为止尝试计算的内容。
计算正确
- 这是一个计算列,计算当月已经过去的工作日数,仅针对当月,并为当月的每个日期记录打印该值。
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())
))
尝试计算
- 日期 table 中的每一行都打印 186。
WorkDaysPassed - Closing Month =
CALCULATE(SUM('Calendar'[WorkDaysPassed - Current Mo]), ALL('Calendar') )
Table数据样本
我能够通过定义计算量度并在计算量列中引用该量度来实现此功能。
计算量度:
- WorkingDays - MTD 当前 Mo
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())
))
- 工作日 MTD - 结束月份
Working Days MTD - Closing Month =
IF(NOT(HASONEVALUE('Calendar'[Mo-Yr])),BLANK(),
CALCULATE (
[WorkingDays - MTD Current Mo],
NEXTMONTH ( 'Calendar'[Date] )
))