我有一个具有父/子层次结构的表,其中列 (BinNum) 中子级的值需要传播或复制到父级。有没有办法在 Power Query 或 DAX 中执行此操作?
输入和结果表:
级别 | 顺序 | BinNum | 级别 | 顺序 | BinNum | |
---|---|---|---|---|---|---|
A10 | 1 | 0 | A10 | 1 | 50 | |
A10 | 2 | 0 | A10 | 2 | 243 | |
A10 | 3 | 0 | A10 | 3 | 100 | |
A10 | 4 | 0 | A10 | 4 | 67 | |
A10 | 5 | 0 | A10 | 5 | 98 | |
A10-05 | 1 | 0 | A10-05 | 1 | 50 | |
A10-05 | 2 | 0 | A10-05 | 2 | 243 | |
A10-05 | 3 | 0 | A10-05 | 3 | 100 | |
A10-05 | 4 | 0 | A10-05 | 4 | 67 | |
A10-05 | 5 | 0 | A10-05 | 5 | 98 | |
A10-05-01 | 1 | 50 | A10-05-01 | 1 | 50 | |
A10-05-01 | 2 | 243 | A10-05-01 | 2 | 243 | |
A10-05-01 | 3 | 100 | A10-05-01 | 3 | 100 | |
A10-05-01 | 4 | 67 | A10-05-01 | 4 | 67 | |
A10-05-01 | 5 | 98 | A10-05-01 | 5 | 98 | |
A10-06 | 1 | 0 | A10-06 | 1 | 50 | |
A10-06 | 2 | 0 | A10-06 | 2 | 243 | |
A10-06 | 3 | 0 | A10-06 | 3 | 100 | |
A10-06 | 4 | 0 | A10-06 | 4 | 67 | |
A10-06 | 5 | 0 | A10-06 | 5 | 98 | |
A10-06-01 | 1 | 50 | A10-06-01 | 1 | 50 | |
A10-06-01 | 2 | 243 | A10-06-01 | 2 | 243 | |
A10-06-01 | 3 | 100 | A10-06-01 | 3 | 100 | |
A10-06-01 | 4 | 67 | A10-06-01 | 4 | 67 | |
A10-06-01 | 5 | 98 | A10-06-01 | 5 | 98 |
你可以试试这个,这是一个简单的单步合并
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1, Int64.Type),
#"Duplicated Column" = Table.DuplicateColumn(#"Added Index", "vel", "vel - Copy"),
#"Split Column by Delimiter" = Table.SplitColumn(#"Duplicated Column", "vel - Copy", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, false), {"vel - Copy.1", "vel - Copy.2"}),
#"Filtered Rows" = Table.SelectRows(#"Split Column by Delimiter", each ([BinNum] <> 0)),
#"Removed Duplicates" = Table.Distinct(#"Filtered Rows", {"Sequence", "vel - Copy.1"}),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"BinNum", "vel - Copy.2"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Columns", {"vel - Copy.1", "Sequence"}, #"Removed Duplicates", {"vel - Copy.1", "Sequence"}, "Table1", JoinKind.LeftOuter),
#"Expanded Table1" = Table.ExpandTableColumn(#"Merged Queries", "Table1", {"BinNum"}, {"BinNum"}),
#"Sorted Rows" = Table.Sort(#"Expanded Table1",{{"Index", Order.Ascending}}),
#"Removed Columns1" = Table.RemoveColumns(#"Sorted Rows",{"vel - Copy.1", "Index"})
in #"Removed Columns1"