【问题标题】:DAX - Work out days in an overlapping periodDAX - 计算重叠期间的天数
【发布时间】:2021-09-03 14:20:13
【问题描述】:

我对 DAX 相当陌生,到目前为止似乎还可以应付,但我完全陷入了一个问题。我认为这与“进行中”的事件有关

我有一个“休假”表,其中显示了年假、病假和公共假期的时间段。我想计算上个月每个人服用了多少。更复杂的是,我只想计算每个工作日。我有一个相关的“日历”表,其中有一个名为“工作日”的列,所以我一直在使用 COUNTROWS 并过滤为“是”以仅显示这些行。我正在苦苦挣扎的部分是有时连续的时间会超过一个多月,正如您在“SICK”行中看到的那样。例如,我希望 Sick 的值显示 -

6 月 - 6 日 7 月 - 22 日 8 月 - 1 日

这可以通过测量来完成吗?

任何帮助将不胜感激。

【问题讨论】:

  • 添加源表和你想要的输出
  • 原题所附照片为源表,来自excel文件。例如,我对 SICK 的期望输出是 - Month Working Days June 6 July 22 August 1 这有帮助吗?

标签: powerbi dax


【解决方案1】:

你可以试试这个解决方案:

LeaveWorkDay = 
var __date = GENERATE(Leave, FILTER('Calendar', 'Calendar'[Date] >= [Start] && 'Calendar'[Date] <= [End] && 'Calendar'[workingdays] = 1))
return
countrows(__date)

我的测试模型如下所示:

使用领域:

输出:

【讨论】:

  • 非常感谢您的帮助,正是我需要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
  • 2023-01-07
相关资源
最近更新 更多