PowerBI动态分组统计:按策略数统计用户数及详情
实现动态分层统计表格的步骤
针对你有User和Policy #数据、需要按策略数分组统计用户数且支持展开查看用户的需求,结合你熟悉Excel的背景,按以下步骤操作:
1. 预处理原始数据
把你的表格导入PowerBI后,先确保数据干净:
- 进入数据视图,选中原始表
- 点击顶部的转换数据,在Power Query编辑器里,选择移除重复项,勾选
User和Policy #列(避免同一用户的同一策略重复统计) - 关闭并应用Power Query的更改
2. 计算每个用户的策略数量
在数据视图中,选中原始表,点击建模选项卡的新建列,输入以下DAX公式:
用户策略数量 = CALCULATE(COUNT('原始表'[Policy #]), ALLEXCEPT('原始表', '原始表'[User]))
类比Excel:这个公式相当于
COUNTIFS(原始表[User], 原始表[@User], 原始表[Policy #], "<>"),固定当前行的User值,统计该用户对应的所有Policy #数量,且不受其他筛选条件干扰。
3. 创建动态用户总数度量值(可选但更灵活)
如果需要表格能随其他筛选条件(比如新增部门、时间字段)自动更新统计,点击建模选项卡的新建度量值:
用户总数 = DISTINCTCOUNT('原始表'[User])
这个度量值会实时计算当前筛选范围内的唯一用户数,比直接用表格计数更灵活。
4. 搭建可展开的分层矩阵
回到报表视图,插入一个矩阵(PowerBI的矩阵支持层级展开,类似Excel的分组折叠):
- 将
用户策略数量拖到矩阵的行区域(作为第一层,显示不同的策略数分组) - 将
User拖到矩阵的行区域,放在用户策略数量的下方(作为第二层,点击策略数前的箭头即可展开查看该组的具体用户) - 将
用户总数度量值拖到矩阵的值区域;如果不用度量值,也可以直接拖User列到值区域,然后右键选择计数(不同)
5. 优化显示效果(可选)
- 点击矩阵的格式选项卡,调整层级缩进、展开/折叠图标样式,或者设置默认是否展开所有分组
- 右键点击矩阵的列名,修改为更易懂的名称(比如把“用户策略数量”改成“拥有策略数”,“用户总数”改成“用户数量”)
内容的提问来源于stack exchange,提问作者BruceWayne
相关产品推荐
相关产品推荐

