多列转转置

Power Query hw0139 ⋅ 于 2018-09-11 22:32:12 ⋅ 最后回复由 Excel-幼儿园 2018-12-25 15:59:09 ⋅ 3154 阅读

表样式1与样式2,怎样用PQ进行相互转换。
户主姓名到地址列是固定不动,其他从成员到关系进行转置,由二维变一维。也可以从一维变二维。
请高手们解答,进行学习,先谢谢了。
表样下载:https://pan.baidu.com/s/1OFixdG4rN1PHyZaRk6ElBg
file
![file

回复数量: 6
  • 初出茅庐
    2018-09-12 09:34:10

    https://pan.baidu.com/s/1Lg544sSb9X7mysBiaWZqoQ 密码:n68u
    解决了用的合并拆分逆透视
    m不会写

  • hw0139
    2018-09-12 17:26:19

    @初出茅庐 谢谢,用了合并的思路。如果成员是未知的,不知有大神能否用M语言进行解决。

  • 飞天篮球 Talk is cheap, show me your code.
    2018-09-12 18:05:13

    let
    源 = Excel.Workbook(File.Contents(文件路径), true, true){[Name="样式1"]}[Data],
    变形 = Table.CombineColumns(源,List.Skip(Table.ColumnNames(源),4),each Table.FromRows(List.Select(List.Split(_,3),(x)=>not List.MatchesAll(x,(y)=>y is null))),"h"),
    展开 = Table.ExpandTableColumn(变形, "h", {"Column1", "Column2", "Column3"}, {"成员", "性 别", "关 系"})
    in
    展开

  • d972024
    2018-09-17 23:30:32

    【初学者练习,请多多指教】

    = Table.ExpandTableColumn(
            Table.Group(源,List.FirstN(Table.ColumnNames(源),4),{"DATA",each  Table.FromRows(List.Split(List.Select(List.Skip(List.Combine(Table.ToRows(_)),4),each _<>null),3))}),
                  "DATA",{"Column1","Column2","Column3"},{"成员2","性别2","关系2"})

    file

  • Ntt docomo
    2018-09-18 09:31:38

    file

  • Excel-幼儿园
    2018-12-25 15:59:08

    @Ntt docomo 为啥列标题名字可以重复

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter