powerbi - Power BI - 跨列查找和筛选重复项
问题描述
我有一组数据,其中四个单独的部件和部件号(所有文本)被编译成组合。它们可以以 2 种不同的方式组合:
- A列然后B然后C然后D,或者
- A列然后C然后B然后D
我在两个单独的列中都有组合。
不幸的是,这会导致创建一些重复项,因为 A+B+C+D 在功能上(就我的目的而言)与 A+C+B+D 等效。当重复项在单个列中时,删除它们很简单。从不同的列中删除重复项有点棘手,这就是我寻求您帮助的地方。
我已经模拟了一个项目如何连接的示例。如您所见,在同一列中没有重复项,但是在两列中都出现了相同组合的重复项(为简单起见采用颜色编码),并且通常在不同的数据行中,因此它不像查看那么简单行。我希望您能帮助识别这些并过滤(或删除)重复项。
Concat 1
另外,请注意,和之间的关系Concat 2
几乎没有意义(出于这些目的),除了我想过滤/删除任何重复值之外,无论这些重复值是在同一列内还是跨两列。
解决方案
假设您从 Table1 开始,它有六列没有标题行,其中 5/6 列有两种组合,这将删除跨行和列的重复项。它不会删除自己行上的重复项 (ABBA/ABBA)
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1", "Column2", "Column3", "Column4"}, "Attribute", "Value"),
#"Removed Duplicates" = Table.Distinct(#"Unpivoted Other Columns", {"Value"}),
#"Pivoted Column" = Table.Pivot(#"Removed Duplicates", List.Distinct(#"Removed Duplicates"[Attribute]), "Attribute", "Value")
in #"Pivoted Column"
如果您还需要在自己的行上删除重复项,请改用:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Column1", "Column2", "Column3", "Column4"}, "Attribute", "Value"),
#"Removed Duplicates" = Table.Distinct(#"Unpivoted Other Columns", {"Value"}),
#"Pivoted Column" = Table.Pivot(#"Removed Duplicates", List.Distinct(#"Removed Duplicates"[Attribute]), "Attribute", "Value"),
#"Filtered Rows" = Table.SelectRows(#"Pivoted Column", each ([Column6] <> null) and ([Column5] <> null))
in #"Filtered Rows"
推荐阅读
- angular - Angular 8分页pageCount不更新
- sql-server - 如何同时管理 Always Encrypted 技术和 TDE 并降低风险?
- redis - Redis 流 50k 消费者支持并行 - 容量要求
- java - 如何自动从 Firebase 中删除?
- algorithm - 为什么渐近复杂性类比不起作用?
- python-3.x - 包裹在函数中时 Python 代码变慢
- c# - 如何在 ASP.NET Core 中路由以删除错误 404 Not found
- string - 如何知道这个文件的编码?
- elixir - 如何通过 Ecto Multi 从先前插入的表键中检索 id
- ios - 如何从标签栏控制器更改标签栏项目