我在power bi中有一列包含一系列元素的列,如下所示:-名为“列表”的Excel工作表,带有一系列字母-名为“要添加的列”的Excel工作表,其中包含几行和几行,可添加到列表的每个字母中。
这是我的“列表”表的示例:
|---------------------|
| Name |
|---------------------|
| A |
|---------------------|
| B |
|---------------------|
| C |
|---------------------|
| D |
这是我的“添加文件列”的示例:
|---------------------|-----------------| -------------|-----------------|
| Pro1 | Pro2 | Pro3 | Pro4 |
|---------------------|-----------------| -------------|-----------------|
| 56 | dgdt | gdro1 | gggggro1 |
|---------------------|-----------------| -------------|-----------------|
| 56 | dgdt | gdro1 | gggggro1 |
|---------------------|-----------------| -------------|-----------------|
| 4 | dgdt | gdro1 | gggggro1 |
|---------------------|-----------------| -------------|-----------------|
| 4 | 4 4 4
并且对于每个元素,A,B ...我正在尝试添加另一个文件中的4列。每个字母的结果如下:
|---------------------|---------------------|-----------------| -------------|-----------------|
| Name | Pro1 | Pro2 | Pro3 | Pro4 |
|---------------------|---------------------|-----------------| -------------|-----------------|
| A | 56 | dgdt | gdro1 | gggggro1 |
|---------------------|---------------------|-----------------| -------------|-----------------|
| A | 56 | dgdt | gdro1 | gggggro1 |
|---------------------|---------------------|-----------------| -------------|-----------------|
| A | 4 | dgdt | gdro1 | gggggro1 |
|---------------------|---------------------|-----------------| -------------|-----------------|
| A | 4 | 4 4 4
到目前为止,我目前已移调我的列表,并重复了多次,想添加几列。
然后,我为每个表创建了一个索引,并将它们合并为两个文件所有行的新查询。
但是它不起作用,我不知道如何继续。
到目前为止,我在我的列上有以下M代码,需要为每个元素添加列:
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{" Name ", type text}}),
#"Transposed Table" = Table.Transpose(#"Changed Type1"),
#"repeat Table" = Table.Repeat(#"Transposed Table",4),
#"Added Index" = Table.AddIndexColumn(#"repeat Table", "Index", 1, 1)
in
#"Added Index"
以及下面的m代码,其中我将两个文件与添加到每个索引的索引合并在其中:
let
Source = Table.NestedJoin(#"columns to add", {"Index"}, list, {"Index"}, "list", JoinKind.FullOuter),
#"Expanded list" = Table.ExpandTableColumn(Source, "list", {"Column1", "Column2", "Column3", "Column4", "Index"}, {"list.Column1", "list.Column2", "list.Column3", "list.Column4", "list.Index"})
in
#"Expanded list"
向两个表中的每个表添加自定义列,所有行均设置为数字1
使用新列将一个表与另一个表合并,合并类型Full Outer(两个行中的所有行)
展开并删除多余的列
let Part1 = Table.AddColumn(Table1, "Custom", each 1),
Part2 = Table.AddColumn(Table2, "Custom", each 1),
#"Merged Queries" = Table.NestedJoin(Part1,{"Custom"},Part2,{"Custom"},"Part2",JoinKind.FullOuter),
#"Expanded Part2" = Table.ExpandTableColumn(#"Merged Queries", "Part2", {"Pro1", "Pro2", "Pro3", "Pro5"}, {"Pro1", "Pro2", "Pro3", "Pro5"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded Part2",{"Custom"})
in #"Removed Columns"