PowerBI中如何拆分多值列生成独立行或统计颜色数量?
在PowerBI中实现拆分多值行与统计颜色数量的方案
需求说明
现有样本表格:
| Name | Color |
|---|---|
| Anna | yellow |
| Marcin, Anna | orange |
以下分别实现两个需求:
需求1:拆分逗号分隔的Name为独立行
完全可以实现,用Power Query编辑器就能搞定,步骤如下:
- 导入数据后,点击数据选项卡→编辑查询(进入Power Query界面)
- 选中
Name列,切换到转换选项卡 - 点击拆分列→按分隔符,选择逗号(如果逗号后带空格,把分隔符设为
,) - 在弹出的对话框中选择拆分为行,确认后即可得到目标表格:
| Name | Color |
|---|---|
| Anna | yellow |
| Marcin | orange |
| Anna | orange |
需求2:统计每个Name对应的Color数量
同样可以实现,有两种简便方法:
方法一:先拆分再统计
- 按照需求1的步骤完成数据拆分
- 返回报表视图,插入一个表格可视化组件
- 将
Name字段拖到行区域,Color字段拖到值区域,把值的聚合方式改成计数(不同),就能得到结果:
| Name | Color Count |
|---|---|
| Anna | 2 |
| Marcin | 1 |
方法二:直接用DAX创建计算表
如果不想修改原始数据,可以直接写DAX公式生成统计结果:
- 点击建模选项卡→新建表
- 输入以下DAX代码(把
原表替换成你的实际表名):
Name Color Count = VAR SplitNames = GENERATE( '原表', SELECTCOLUMNS( SPLIT('原表'[Name], ", "), "拆分后Name", [Value] ) ) RETURN SUMMARIZE( SplitNames, [拆分后Name], "Color Count", COUNTROWS(DISTINCT(SplitNames[Color])) )
执行后会自动生成包含统计结果的新表。
内容的提问来源于stack exchange,提问作者Teresa Sergiel
相关产品推荐
相关产品推荐

