Power BI中按staff_id统计总天数的实现方法咨询
Power BI中按staff_id统计总天数的实现方法咨询
嗨,作为常泡Stack Overflow帮人解决Power BI问题的老玩家,我来给你一步步捋清楚怎么实现这个需求!毕竟刚接触DAX的时候确实容易懵,别着急~
首先得明确你的数据结构:假设你的数据表叫StaffDays(记得换成你实际的表名),里面有staff_id列和记录天数的Days列(同样替换成你自己的列名),下面分两种常用场景给你讲:
场景1:在原表中新增列,显示每个staff_id对应的总天数
这时候我们需要创建一个计算列,DAX公式如下:总天数 = CALCULATE(SUM('StaffDays'[Days]), ALLEXCEPT('StaffDays', 'StaffDays'[staff_id]))简单解释下:
ALLEXCEPT函数会保留staff_id的筛选条件,去掉其他所有列的筛选,这样CALCULATE就能精准计算出当前行对应的staff_id的所有天数总和,最终每一行都会显示该员工的总天数。场景2:在报表可视化组件中展示各staff_id的总天数
这种情况用度量值更灵活,公式超简单:staff总天数 = SUM('StaffDays'[Days])写完度量值后,你只需要把
staff_id和这个staff总天数拖到表格、矩阵或者卡片图里,Power BI会自动按staff_id分组求和,完美展示每个员工的总天数~
最后给你提个新手容易踩的小坑:一定要确保你的Days列是数值类型(别是文本格式),不然SUM函数会报错;另外,度量值会响应报表中的筛选器(比如日期范围筛选),而计算列是在数据刷新时固定计算的,你可以根据自己的需求选合适的方式。
备注:内容来源于stack exchange,提问作者linggapratama28




