Идентифицировать дубликаты с помощью True / False с помощью Power Query

#excel #excel-formula #powerbi #powerquery #powerpivot

#преуспеть #excel-формула #пауэрби #powerquery #powerpivot

Вопрос:

введите описание изображения здесь

Привет всем

Мне нужна помощь с приведенной ниже проблемой. Я хочу использовать Power Query и хочу получить результат в виде фотографии.

Есть какие-нибудь предложения?

Большое вам спасибо.

Комментарии:

1. @horseyride объясняет, как имитировать ваши формулы Excel в Power Query, но обычно есть лучшие способы борьбы с дубликатами, которые более эффективны и требуют меньше шагов. Однако то, как к этому подойти, зависит от того, что вы в конечном счете пытаетесь сделать с данными.

Ответ №1:

Похоже, вы хотите сравнить каждое значение со строкой под ним

Перенесите свои данные в PowerQuery, выделив диапазон и используя данные … Из заголовков столбцов таблицы / диапазона и [x]

Добавить столбец… Столбец индекса…

Добавить столбец.. Пользовательский столбец… с формулой, приведенной ниже, замените 999 на то, что вы хотите иметь для последней строки (где не с чем сравнивать)

 = try if [Category] = #"Added Index"{[Index] 1}[Category] then true else false otherwise 999
 

Файл .. Закройте и загрузите в ….

Пример вывода кода

 let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Custom", each try if [Category] = #"Added Index"{[Index] 1}[Category] then true else false otherwise 999)
in #"Added Custom"
 

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Другой способ сделать это с помощью 2 индексов и слияния. Это может быть быстрее для больших наборов данных

Перенесите свои данные в PowerQuery, выделив диапазон и используя данные … Из заголовков столбцов таблицы / диапазона и [x]

Добавить столбец… Столбец индекса…Начиная с 0….

Добавить столбец… Столбец индекса…От 1….

Главная… Объединение запросов… и в нижнем выпадающем списке выберите имя текущего запроса. Затем нажмите Index.1 вверху и Index внизу, вид соединения слева.

введите описание изображения здесь

Щелкните двойные стрелки над новым столбцом и выберите [x] Категория

введите описание изображения здесь

Добавить столбец… Пользовательский столбец.. с формулой, приведенной ниже, замените 999 на то, что вы хотите иметь для последней строки (где не с чем сравнивать)

 = if [Added Index1.Category] = null then 999 else if [Category]=[Added Index1.Category] then true else false
 

Удалить лишние столбцы

Файл .. Закройте и загрузите …

 let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
#"Added Index1" = Table.AddIndexColumn(#"Added Index", "Index.1", 1, 1),
#"Merged Queries" = Table.NestedJoin(#"Added Index1",{"Index.1"},#"Added Index1",{"Index"},"Added Index1",JoinKind.LeftOuter),
#"Expanded Added Index1" = Table.ExpandTableColumn(#"Merged Queries", "Added Index1", {"Category"}, {"Added Index1.Category"}),
#"Added Custom" = Table.AddColumn(#"Expanded Added Index1", "Custom", each if [Added Index1.Category] = null then 999 else if [Category]=[Added Index1.Category] then true else false),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Index", "Index.1", "Added Index1.Category"})
in #"Removed Columns"
 

Комментарии:

1. Большое вам спасибо. Очень полезный