DAX - 计算重叠期间的天数

DAX - Work out days in an overlapping period

我对 DAX 还很陌生,到目前为止似乎还可以应对,但我完全陷入了一个问题。我认为这与 'in progress' 事件有关

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

6 月 - 6 日 七月 - 22 八月 - 1

这可以用一个措施来完成吗?

任何帮助将不胜感激。

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

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

我的测试模型看起来像:

使用的字段:

输出: