Powerbi 在Power BI中仅计算开始和结束日期的月平均值

Powerbi 在Power BI中仅计算开始和结束日期的月平均值,powerbi,dax,Powerbi,Dax,为了跟踪我们的平均员工人数和离职趋势,我在Power BI中创建了一份报告,该报告基本上扩展了一个包含员工开始/结束信息的表格,以记录每个员工在公司工作的每一天 虽然这个解决方案有效,但我最终得到了一个包含数百万行的表,这似乎不是很有效 我已经在DAX中研究了其他可能的解决方案,但没有找到任何能够提供完全相同输出的解决方案。似乎大多数解决方案都依赖于从一个月的开始日期和结束日期开始计算时间,然后求平均值,这并不是我想要做的 我附上了一个简化的pbix文件,它显示了我想要得到的结果。如有任何建议,

为了跟踪我们的平均员工人数和离职趋势,我在Power BI中创建了一份报告,该报告基本上扩展了一个包含员工开始/结束信息的表格,以记录每个员工在公司工作的每一天

虽然这个解决方案有效,但我最终得到了一个包含数百万行的表,这似乎不是很有效

我已经在DAX中研究了其他可能的解决方案,但没有找到任何能够提供完全相同输出的解决方案。似乎大多数解决方案都依赖于从一个月的开始日期和结束日期开始计算时间,然后求平均值,这并不是我想要做的

我附上了一个简化的pbix文件,它显示了我想要得到的结果。如有任何建议,将不胜感激


最终的代码是这样的:

All Employees = countrows ('Employees')

Terminations = 
Calculate(
    Countrows('Employees'),
    USERELATIONSHIP('Employees'[End Date],'Calendar'[Date])
)


Active Employees = 
AVERAGEX(
    VALUES('Calendar'[Date]),
    VAR CurrentDate = 'Calendar'[Date]
    VAR HiredBeforeCurrentDate =
        Filter(
            ALL('Employees'[Start Date]),
            'Employees'[Start Date] <= CurrentDate
        )
    VAR HiredAfterCurrentDate = 
        FILTER(
            ALL('Employees'[End Date]),
            OR('Employees'[End Date] >= CurrentDate, isblank('Employees'[End Date])
            )
        )
    RETURN
        CALCULATE(
            Countrows('Employees'),
            HiredBeforeCurrentDate,
            HiredAfterCurrentDate,
            ALL('Calendar')
        ))
All Employees=countrows('Employees'))
终止=
算计(
Countrows(“员工”),
用户关系(“员工”[结束日期],“日历”[日期])
)
在职员工=
平均数(
值('日历'[日期]),
VAR CurrentDate='日历'[日期]
VAR在当前日期之前雇佣=
滤器(
所有('员工'[开始日期]),
“员工”[开始日期]=当前日期,为空(“员工”[结束日期])
)
)
返回
算计(
Countrows(“员工”),
在当前日期之前雇佣,
雇佣日期晚于当前日期,
全部(‘日历’)
))

处理这种情况的快照表实际上是最好的解决方案。“似乎效率不高”是什么意思?power BI经过优化,可以处理数百万行而不会出现问题。您是否遇到了实际的性能问题?下面是一篇与您的模型中的这种实现相关的文章—您同时启用了日期表和自动日期/时间。我建议禁用选项自动日期/时间,因为有一个自定义的日期表(这是最好的选择)@ SerGiOM当我说不有效时,它主要与事物的转换/数据刷新/加载方面有关,它肯定比我认为更复杂的报告要花费更长的时间来刷新。正如我所说,该解决方案目前正在发挥作用,但随着时间的推移,它将以指数形式增长,因此我担心它在未来的表现。@sergiom您发送的链接正是我所寻找的!谢谢