Power BI - поиск и фильтрация дубликатов по столбцам - PullRequest
0 голосов
/ 11 октября 2018

У меня есть набор данных, где четыре отдельные части и номера частей (весь текст) скомпилированы, чтобы стать комбинациями.Они могут объединяться двумя различными способами: либо

  • столбец A, затем B, затем C, затем D, OR
  • столбец A, затем C, затем B, затем D
*.1008 * У меня есть комбинации, каждая в двух отдельных столбцах.

К сожалению, это приводит к созданию некоторых дубликатов, потому что A + B + C + D функционально эквивалентен (для моих целей) A + C+ B + D.Когда дубликаты находятся в одном столбце, удалить их достаточно просто.Удаление дубликатов из разных столбцов немного сложнее, и здесь я ищу вашу помощь.

Example

Я смоделировал пример того, как элементы объединяются,Как видите, в одном и том же столбце нет дубликатов, но в обоих столбцах есть дубликаты одинаковых комбинаций (для простоты с цветовым кодом), часто в разных строках данных, так что это не так просто, как просмотретьряд.Я хотел бы, чтобы вы помогли идентифицировать их и отфильтровать (или удалить) дубликаты.

Также обратите внимание, что отношения между Concat 1 и Concat 2 в значительной степени бессмысленны (для этих целей), за исключением того, что я бы хотел отфильтровать / удалить любые дублирующиеся значения вообще, независимо от того, являются ли эти дубликатыв одном и том же столбце или в двух столбцах.

1 Ответ

0 голосов
/ 12 октября 2018

Предполагая, что вы начинаете с Таблицы 1, имеющей шесть столбцов без строки заголовка, где столбцы 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"
...