PowerBI Power Query列拆分需求:将分组数据转为矩阵式结构
在Power BI中用Power Query实现用户-分组矩阵转换
可视化操作步骤(适合新手)
- 打开Power Query编辑器:在Power BI「数据」视图中选中导入的原始表,点击「转换数据」进入编辑器。
- 拆分分组到单独行:选中
Groups列,切换到「转换」选项卡,点击「拆分列」→「按分隔符」,选择「空格」作为分隔符,「拆分方式」选「拆分为行」,确认后每个用户的多分组会拆成单独行。 - 添加标记列:切换到「添加列」选项卡,点击「自定义列」,输入公式
"x",将列名改为「标记」,点击确定。 - 透视列生成矩阵:选中
User列,切换到「转换」选项卡,点击「透视列」。弹窗中「透视列」选Groups,「值列」选「标记」,高级选项选「不要聚合」,确认后即可生成目标矩阵结构,无分组的位置显示空值。 - (可选)清理空值:选中所有分组列,点击「转换」→「替换值」,将「值」和「替换为」都留空,点击确定即可把空值替换为空字符串。
直接用M代码快速实现
若熟悉高级编辑器,可替换现有代码为以下内容(注意将源部分替换为你的实际数据源):
let 源 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], // 若从其他数据源导入,替换此处为对应源代码 拆分到行 = Table.ExpandListColumn(Table.TransformColumns(源, {{"Groups", Splitter.SplitTextByWhitespace, let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Groups"), 添加标记列 = Table.AddColumn(拆分到行, "标记", each "x"), 透视列 = Table.Pivot(添加标记列, List.Distinct(添加标记列[Groups]), "Groups", "标记") in 透视列
内容的提问来源于stack exchange,提问作者user20173064
相关产品推荐
相关产品推荐

