You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI考勤统计度量值求助:饼图展示出勤天数分组无结果

考勤报表饼图DAX度量值修复及正确公式

原度量值失效原因

你写的1-8 days度量值逻辑错误:DateRange是基于当前整个筛选上下文计算的全局日期差,而非每个候选人的个人出勤天数,导致后续筛选条件无法匹配单个候选人的实际出勤情况,最终饼图无数据显示。

正确的三类度量值公式

1. 出勤0天的候选人数量

出勤0天 = 
CALCULATE(
    DISTINCTCOUNT('YourTable'[Unique ID]),
    CALCULATE(COUNTROWS('YourTable'), 'YourTable'[Attendance] = "Yes") = 0
)

逻辑:统计所有没有任何出勤记录(Attendance = "Yes"的行数为0)的候选人数量。

2. 出勤1-8天的候选人数量

1-8天出勤 = 
VAR 候选人出勤天数 = 
ADDCOLUMNS(
    VALUES('YourTable'[Unique ID]),
    "@出勤天数", CALCULATE(COUNTROWS('YourTable'), 'YourTable'[Attendance] = "Yes")
)
RETURN
COUNTROWS(FILTER(候选人出勤天数, [@出勤天数] >= 1 && [@出勤天数] <= 8))

逻辑:先计算每个候选人的出勤记录数(即出勤天数),再筛选出天数在1到8之间的候选人并统计数量。

3. 出勤8-15天的候选人数量

8-15天出勤 = 
VAR 候选人出勤天数 = 
ADDCOLUMNS(
    VALUES('YourTable'[Unique ID]),
    "@出勤天数", CALCULATE(COUNTROWS('YourTable'), 'YourTable'[Attendance] = "Yes")
)
RETURN
COUNTROWS(FILTER(候选人出勤天数, [@出勤天数] > 8 && [@出勤天数] <= 15))

逻辑:与上一个度量类似,筛选出勤天数在9到15之间的候选人并统计数量(注意区间边界,避免重复统计8天的候选人)。

注意事项

  • 确保Unique ID字段是每个候选人的唯一标识,无重复值
  • 确认Attendance字段的出勤标记确实是"Yes"(DAX区分大小写,若实际值为小写"yes"需同步修改)
  • 若你的出勤天数是按日期跨度计算(而非每日记录数),可将@出勤天数的计算替换为:CALCULATE(DATEDIFF(MIN('YourTable'[Date]), MAX('YourTable'[Date]), DAY), 'YourTable'[Attendance] = "Yes"),但需保证每个候选人的日期记录仅对应其出勤时段。

内容的提问来源于stack exchange,提问作者SUMAN NUTAKKI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:13:32