#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. Большое вам спасибо. Очень полезный