多级 list 组合一键展开

Power Query wsl ⋅ 于 2022-08-30 09:05:27 ⋅ 939 阅读
   源
  = Table.FromRecords(
    {
      [姓名 = "A", 成绩 = 1], 
      [姓名 = "B", 成绩 = {2, 3}], 
      [姓名 = "C", 成绩 = {{15, 4}, 5}], 
      [姓名 = "D", 成绩 = {6, {7, 8}, {9, {10, 11, 12}, 13}, 14}]
    }
  )

我想一步展开table,应该是为了学习递归自己编造的数据,但是不会做,卡壳了好多天了。请各位不吝赐教
已经解决了

let
    源 = Table.FromRecords(
                {
                    [姓名="A",成绩=1],
                    [姓名="B",成绩={2,3}],
                    [姓名="C",成绩={{15,4},5}],
                    [姓名="D",成绩={6,{7,8},{9,{10,11,12},13},14}]
                }
    ),
    fx=(a)=> List.Accumulate(a,{},
                                        (x,y)=>                                  
                                        if y is number
                                        then x&{y}
                                        else x&@fx(y)
    ),
    遍历成绩 = Table.TransformColumns(源,{"成绩",each if _ is number then _ else fx(_)}),
    展开的 = Table.ExpandListColumn(Table.SelectRows(遍历成绩, each [成绩] is list), "成绩")&Table.SelectRows(遍历成绩, each [成绩] is number)
in
    展开的
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请务必阅读并严格遵守《社区管理规范与使用说明》
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
    • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
      请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
    Ctrl+Enter