Объединение и значение, присутствующее в другой таблице Power BI

У меня 3 стола.

Первый - это таблица товаров.

Таблица товаров

Вторая - это тоже таблица товаров, но некоторые товары присутствуют и в первой.

Вторая таблица продуктов

И, наконец, у меня есть таблица продаж.

Таблица продаж

Я хотел бы объединить две таблицы продуктов в новую, и если один продукт находится в разделе «Продажи», добавить новый столбец с именем клиента.

Вот такие результаты.

Результат

Я хочу сделать это в Power BI, но не могу найти решение в редакторе запросов.

Любая идея?

Спасибо.


person Mathieu Ricour    schedule 21.12.2017    source источник


Ответы (1)


Здесь я предполагаю, что ID - это первичный ключ для всех таблиц.

Во-первых, вы можете добавить (т.е. объединить) две Product таблицы в одну:

добавить 1

добавить 2

Затем удалите дубликаты в столбце ID:

удалить дубликаты

Теперь вы можете объединить (то есть присоединиться) запрос с таблицей Sales в столбце ID:

объединить 1

объединить 2

Разверните Sales таблицу и выберите только столбец ClientName:

развернуть 1

развернуть 2

И, наконец, замените нулевое значение на Unsold:

заменить 1

заменить 2

(Да, странно, что строка null означает NULL, но так работает)

Конечный результат:

результат

Полный код M для справки:

let
    Source = Table.Combine({Product, Product2}),
    #"Removed Duplicates" = Table.Distinct(Source, {"ID"}),
    #"Merged Queries" = Table.NestedJoin(#"Removed Duplicates",{"ID"},Sales,{"ID"},"Sales",JoinKind.LeftOuter),
    #"Expanded Sales" = Table.ExpandTableColumn(#"Merged Queries", "Sales", {"ClientName"}, {"ClientName"}),
    #"Replaced Value" = Table.ReplaceValue(#"Expanded Sales",null,"Unsold",Replacer.ReplaceValue,{"ClientName"})
in
    #"Replaced Value"
person Foxan Ng    schedule 22.12.2017
comment
Чувствую себя глупо из-за того, что зациклился на чем-то, что в конце концов было довольно легко сделать ... Большое спасибо, очень признателен! - person Mathieu Ricour; 22.12.2017
comment
@Foxan Ng: очень впечатляющие скриншоты и как это сделать. - person S Meaden; 12.01.2018
comment
Фантастическая пошаговая инструкция! Я искал решение в течение нескольких часов. Спасибо!! - person Guilherme Henrique Mendes; 22.08.2018
comment
@GuilhermeHenriqueMendes Рад помочь! - person Foxan Ng; 22.08.2018