透视和连接 Power Query

Posted

技术标签:

【中文标题】透视和连接 Power Query【英文标题】:Pivot and concatenate Power Query 【发布时间】:2021-02-19 09:39:39 【问题描述】:

我正在尝试标记我的行,但如何获得最终格式对我来说有点复杂。

我的 Power Query 格式如下:

DOC NUM| TRAN | TYPE | ACCS | Amount| Label 
TypeA  | Code |  SA  | Acc1 |  123  | A     
TypeB  | Code |  SA  | Acc2 |  34   | Q
TypeA  | Code |  SA  | Acc3 |  543  | Y
TypeA  | Code |  SA  | Acc4 |  12   | AW
TypeB  | Code |  SA  | Acc5 |  1    | AX
TypeA  | Code |  SA  | Acc5 |  823  | AX
TypeA  | Code |  SA  | Acc6 |  143  | AZ
TypeB  | Code |  SA  | Acc6 |  113  | AZ

我的目标是获得这种最终格式,其中最后一列是“标签”列的连接,具体取决于前 3 列并按“Accs”排序:

DOC NUM| TRAN | TYPE | Label 
TypeA  | Code |  SA  | AYAWAXAZ     
TypeB  | Code |  SA  | QAXAZ

这对我来说并不容易,因为你可以看到行数和标签数是可变的。 我能得到的唯一解决方案是将“Accs”与“Label”作为值,在此处完成电源查询并在最后一列的 excel 中创建列的连接:

DOC NUM| TRAN | TYPE | Acc1 | Acc2 | Acc3 | Acc4 | Acc5 | Acc6 | Label 
TypeA  | Code |  SA  |   A  |      |   Y  |  AW  |  AX  |  AZ  |AYAWAXAZ     
TypeB  | Code |  SA  |      |   Q  |      |      |  AX  |  AZ  |QAXAZ

然后我可以将此表复制并粘贴到新工作表中并删除“AccX”列。这对我来说不是最好的解决方案,因为我会有很多变量列(这使得连接公式有点乏味),如果可能的话,我希望它是自动的。

非常感谢任何帮助! 提前谢谢!

【问题讨论】:

您能否edit您的问题并将原始数据粘贴到文本中,这样我们就不必重新输入? 当然!很抱歉@RicardoDiaz 【参考方案1】:

步骤:

1- 按列分组并使用所有行操作

2- 添加一个自定义列,引用上一步的 AllRows 列和您要连接的列

3- 在自定义列上使用提取值

4- 删除其他列

M码:

let
    Source = Excel.CurrentWorkbook()[Name="Table1"][Content],
    ChangeType = Table.TransformColumnTypes(Source,"DOC NUM", type text, "TRAN", type text, "TYPE", type text, "ACCS", type text, "Label", type text),
    GroupAll = Table.Group(ChangeType, "DOC NUM", "TRAN", "TYPE", "AllRows", each _, type table [DOC NUM=nullable text, #"TRAN"=nullable text, #"TYPE"=nullable text, #"ACCS"=nullable text, #"Amount"=number, #"Label"=nullable text]),
    AddCustom = Table.AddColumn(GroupAll, "Custom", each [AllRows][Label]),
    ExpandCol = Table.TransformColumns(AddCustom, "Custom", each Text.Combine(List.Transform(_, Text.From)), type text),
    RemoveOtherCols = Table.SelectColumns(ExpandCol,"DOC NUM", "TRAN", "TYPE", "Custom")
in
    RemoveOtherCols

让我知道它是否有效

【讨论】:

哇!这很棒!效果很好。我必须了解您创建的表格和列表!谢谢

以上是关于透视和连接 Power Query的主要内容,如果未能解决你的问题,请参考以下文章

power query中M函数和处理数据

透视后在 Power Query 中重新排序的行

如何减去 Power Query 数据透视表中的两列?

PowerBI:Power Query:处理因数据透视而更改的列名

SSIS Power Query 源 OData 连接不工作

为啥power query合并查询中的右反查询出来的结果为空