PowerBI 如何统计taskbin表用户在qabin表Submitter字段的出现次数
PowerBI 跨表匹配统计用户提交质检单次数解决方案
问题根因
直接计数返回qabin全表行数的核心原因是计算逻辑未对应当前行的User值做筛选过滤,没有匹配Submitter和User的对应关系,导致统计时没有限定范围。
实现方案(两种可选)
方案1:DAX 新建计算列(适合在数据模型层加字段)
操作步骤
- (推荐)先进入「模型」视图,将
taskbin表的User字段拖拽到qabin表的Submitter字段,建立一对多关联关系,默认单方向筛选即可。 - 选中
taskbin表,点击「新建列」,输入对应DAX公式:- 已建立关联的简化写法:
Submitted Count = CALCULATE(COUNT(qabin[QAID]))- 不需要建立关联的通用写法:
Submitted Count = CALCULATE(COUNT(qabin[QAID]), qabin[Submitter] = EARLIER(taskbin[User]))
效果调整
如果需要把无提交记录的用户统计值从0改为空,可使用以下公式:
Submitted Count = VAR submit_cnt = CALCULATE(COUNT(qabin[QAID]), qabin[Submitter] = EARLIER(taskbin[User])) RETURN IF(submit_cnt = 0, BLANK(), submit_cnt)
方案2:Power Query 自定义列(适合在数据清洗阶段加字段)
- 进入Power Query编辑器,选中
taskbin表 - 点击「添加列」-「自定义列」,输入公式:
List.Count(Table.SelectRows(qabin, (x) => x[Submitter] = [User])[QAID])
- 点击确定后即可生成统计列
以上两种方案生成的Submitted Count列,都会按照每个User匹配qabin表的Submitter统计出现次数,符合John、Sam各返回1的预期效果。
内容的提问来源于stack exchange,提问作者user1274820
相关产品推荐
相关产品推荐

