Power BI中如何将展开后生成多行的列折叠合并为单行?
不要直接点击嵌套列的展开按钮,直接通过Power Query自定义列提取合并值即可,全程保留原表总行数,操作步骤如下:
- 导入SharePoint列表进入Power Query编辑器后,点击顶部菜单栏「添加列」>「自定义列」
- 在弹出的自定义列配置窗口中,输入对应M公式,注意将公式中的列名替换为你自己的人员列实际名称,例如示例中列名为
ColumnHeader时,提取人员邮箱作为合并内容的公式如下:
若需要提取人员显示名称,将公式中的Text.Combine([ColumnHeader][Email], "# ")Email替换为Title即可;如果需要更换分隔符,直接修改"# "部分的内容,比如用逗号分隔就填写", "。 - 公式填写完成后点击确定,待列值加载完成,删除原来存储
[Table]类型值的旧人员列,将新建的自定义列重命名为原列名即可。
容错提示:如果列表中存在人员列未填写内容的空行,基础公式会触发报错,替换为带容错的版本即可:
Text.Combine(try [ColumnHeader][Email] otherwise {}, "# ")
效果验证
处理前后的数据形态完全匹配需求:
- 处理前:人员列为嵌套
[Table]值,直接展开会生成多条同ID重复行 - 处理后:原表行数无变化,同一行内的多个人员值通过指定分隔符合并为单个文本值,示例输出为
FakeEmail@email.com# FakeEmail2@email.com
内容的提问来源于stack exchange,提问作者HamiltonPharmD
相关产品推荐
相关产品推荐

