如何在不重复值的情况下同时展开一行列表中的所有列表?

时间:2017-06-21 11:58:35

标签: powerquery m

在回应this question关于如何同时扩展一行列表中的所有列表时,@ Carl Walsh提供了这个简洁而有用的代码:

<ion-card-header text-wrap>

产生这个:

enter image description here

我希望得到这个结果:

enter image description here

我不希望在处理每个后续列时在先前处理的列中重复值。

对卡尔的代码进行简单的修改会让我到那儿吗?

1 个答案:

答案 0 :(得分:1)

可能不是很简单,但有效:下面的代码将列与调整后的代码组合在一起,因此列表被压缩,内部列表被转换为记录。接下来,列表列将展开,从而生成一个具有嵌套记录的列,随后将对其进行扩展。

不幸的是,你不能将组合列与嵌套列表一起使用,所以我首先创建了一些虚拟文本列,以便生成基本代码,我随后对其进行了调整,并删除了使用虚拟列的步骤

let
    Source = #table({"A", "B"}, {{ {1,2}, {3,4}} }),
    #"Merged Columns" = Table.CombineColumns(Source,{"A", "B"}, each List.Transform(List.Zip(_), each Record.FromList(_,{"A","B"})),"Merged"),
    #"Expanded Merged" = Table.ExpandListColumn(#"Merged Columns", "Merged"),
    #"Expanded Merged1" = Table.ExpandRecordColumn(#"Expanded Merged", "Merged", {"A", "B"}, {"A", "B"})
in
    #"Expanded Merged1"