当表按条件筛选时,列中的最大值返回 True - PowerBI DAX

问题描述 投票:0回答:1

我有一个报告月份表,我需要在其中创建一个“IsCurrentMonth”列,该列对于当前报告月份返回 true,对于其他月份返回 false。报告期从每月的第7个工作日滚动,开始上个月的报告(例如2月24日的第7个工作日,1月24日成为报告期)。我有大部分 dax 工作,对于数据可用的所有月份都返回 True(例如,在 2 月 24 日的第 7 号工作日,截至 1 月 24 日的所有月份都显示 True,否则它们为 False。但是,我只想将 1 月 24 日显示为 True而不是之前的所有月份。

任何帮助表示赞赏。谢谢

DAX for New Column

Desired result DAX trid for New Column

powerbi dax calculated-columns
1个回答
0
投票

尝试使用不同的方法来确定报告日期何时为当前月份(今天的日期),如果今天的日期较大,则返回一个月,如果较小,则返回两个月。

尝试:

IsCurrentMonth = 
  var todayMonthStartOf = EOMONTH(TODAY(), -1) + 1
  var daysOffset = 
    SWITCH(
      WEEKDAY(todayMonthStartOf, 1), 
      // Fri
      5, 10,
      // Sat
      6, 10,
      // Sun
      7, 9,
      // others
      8
  )
  var todayMonthRolloverDate = todayMonthStartOf + daysOffset
  var reportingMonthDiff = IF(TODAY() > todayMonthRolloverDate, -1, -2)
  var reportingMonth = EOMONTH(todayMonthStartOf, reportingMonthDiff - 1) + 1
  return [Date] = reportingMonth
© www.soinside.com 2019 - 2024. All rights reserved.