需求:基于DAX创建按人员与唯一日期的多条件计数度量
DAX度量实现:按人员+星期几统计唯一日期数
需求拆解
要实现同一人员在指定星期几的不同创建日期计数(每个日期仅计1次,无视当日记录条数),核心是对「人员ID + 星期几」分组,统计该组下的唯一日期数量。
步骤1:(可选)创建星期几计算列
如果你的表没有现成的星期几字段,先添加一个计算列提取星期信息,方便后续筛选和可视化:
星期几 = FORMAT('数据记录表'[创建日期], "dddd") -- 生成中文星期(如"星期二")
或者用数字表示(1=周一,7=周日):
星期几数字 = WEEKDAY('数据记录表'[创建日期], 2)
步骤2:创建核心度量
这个度量会自动适配报表上下文(比如选中的人员、星期几),统计对应分组下的唯一日期数:
唯一日期计数 = CALCULATE( DISTINCTCOUNT('数据记录表'[创建日期]), KEEPFILTERS('数据记录表') )
使用方法
将人员ID、星期几(计算列)拖到报表的表格/矩阵中,再把唯一日期计数度量拖到值区域,即可得到:
- 人员A的周二计数为2(对应2个不同的周二日期)
- 人员A的周三计数为4(对应4个不同的周三日期)
特殊场景:单独统计某星期几
如果需要直接统计某固定星期几的数量(比如仅统计周二),可以用带筛选条件的度量:
周二唯一日期计数 = CALCULATE( DISTINCTCOUNT('数据记录表'[创建日期]), WEEKDAY('数据记录表'[创建日期], 2) = 2 -- 筛选周二(数字2对应周二) )
内容的提问来源于stack exchange,提问作者Jonathan Sedy
相关产品推荐
相关产品推荐

