PowerQuery新手问题:部分列,分组拆成多行,怎么实现?

  • M
    Maurepas
    数据里右边的列是3行一组
    店名 负责人 联系方式 品名1 规格1 数量1 品名2 规格2 数量2 品名3 规格3 数量3

    想要把每行数据都拆成3行这样:
    店名 负责人 联系方式 品名1 规格1 数量1
    店名 负责人 联系方式 品名2 规格2 数量2
    店名 负责人 联系方式 品名3 规格3 数量3

    目前想到的是把每组3列拼成1列然后再逆透视列,有简单的办法实现吗?
  • u
    ufo-bug
    sql 拆开多个查询 再做unions 就行
    select 店名 负责人 联系方式 品名1 规格1 数量1 from table
    union
    select 店名 负责人 联系方式 品名2 规格2 数量2 from table
    union
    select 店名 负责人 联系方式 品名3 规格3 数量3 from table
  • M
    Maurepas
    sql有点高端了,power query我主要靠按钮操作……
  • M
    Maurepas
    实际这个表有大几十列,只其中6列要分成两行,因为其他处理都是用powerquery在做,这一步现在是先用逆透视凑合一下……
  • k
    keshuyi
    不上个附件?
  • e
    eddie777
    pq有个反透视
  • l
    langlang@
    可以按照分隔符或者字数来切分
  • m
    malihome
    逆透视
  • b
    bartonexdu
    unpivot试试,pq里三个容器变换来变换去
  • M
    Maurepas
    split.zip(17.05 KB)
    上附件了,中文文件名搞了半天
  • M
    Maurepas
    现在就是在用逆透视做的,我是想如果要有几十组要分就太烦了吧,只能抄楼上的sql了?现在是这么搞的:
    1. let
    2. 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    3. 更改的类型 = Table.TransformColumnTypes(源,{{"无关1", type text}, {"无关2", type text}, {"无关3", type text}, {"无关4", type text}, {"无关5", type text}, {"无关6", type text}, {"无关7", type text}, {"无关8", type text}, {"品名1", type text}, {"规格1", type text}, {"数量1", type text}, {"品名2", type text}, {"规格2", type text}, {"数量2", type text}}),
    4. 合并的列 = Table.CombineColumns(更改的类型,{"品名1", "规格1", "数量1"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"已合并1"),
    5. 合并的列1 = Table.CombineColumns(合并的列,{"品名2", "规格2", "数量2"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"已合并2"),
    6. 逆透视的列 = Table.UnpivotOtherColumns(合并的列1, {"无关1", "无关2", "无关3", "无关4", "无关5", "无关6", "无关7", "无关8"}, "属性", "值"),
    7. 按分隔符拆分列 = Table.SplitColumn(逆透视的列, "值", Splitter.SplitTextByDelimiter(":", QuoteStyle.Csv), {"值.1", "值.2", "值.3"}),
    8. 更改的类型1 = Table.TransformColumnTypes(按分隔符拆分列,{{"值.1", type text}, {"值.2", type text}, {"值.3", type text}}),
    9. 重命名的列 = Table.RenameColumns(更改的类型1,{{"值.1", "品名"}, {"值.2", "规格"}, {"值.3", "数量"}})
    10. in
    11. 重命名的列
    复制代码
  • h
    htao12
    M函数逆透视,我分解年度预算时用过