Упражнение. Объединение результатов таблицы с помощью оператора подстановки

Завершено

В предыдущем упражнении оператор использовался join для поиска общего объема продаж на продукт. В этом упражнении оператор используется lookup для поиска общего объема продаж в каждой стране или регионе.

Использовать оператор lookup.

Ваша команда по продажам хочет знать общий объем продаж компании на страну или регион. Вы можете использовать оператор для получения сведений join о клиенте и продукте. Однако этот тип запроса лучше всего выполняется при использовании lookup оператора для получения этих сведений.

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

Для этого запроса вы начинаете с таблицы SalesFact и используете lookup оператор, чтобы получить данные клиента и добавить его в результирующий таблицу.

В следующей процедуре вы создаете запрос на этапах, чтобы лучше понять результат использования lookup оператора.

  1. Выполните следующий запрос, чтобы получить 10 совпадающих произвольных строк из таблицы SalesFact и таблицы Customers .

    Выполнить запрос

    SalesFact
    | lookup Customers on CustomerKey
    | take 10
    

    Взгляните на итоговый перечень. Обратите внимание, что результирующая таблица содержит столбцы из таблицы SalesFact , за которой следует сопоставление столбцов из таблицы Customers .

  2. Выполните следующий запрос, чтобы получить общий объем продаж в каждой стране или регионе.

    Выполнить запрос

    SalesFact
    | lookup Customers on CustomerKey
    | summarize TotalSales = count() by RegionCountryName
    | order by TotalSales desc
    

    Результаты должны выглядеть следующим образом:

    Screenshot of the lookup operator, with total sales per country/region query and results.

  3. Взгляните на итоговый перечень. Обратите внимание, что первые продажи находятся в США. Попробуйте изменить запрос, чтобы отобразить общее количество продаж в США по состоянию.

В предыдущем уроке вы использовали правый элементjoin для получения общего объема продаж по категориям продуктов. Для выполнения этого запроса потребовалось 0,834 секунды. Теперь напишите запрос, чтобы получить тот же результат с помощью lookup оператора, а затем сравните время выполнения.

  1. Выполните следующий запрос.

    Выполнить запрос

    SalesFact
    | lookup Products on ProductKey
    | summarize TotalSales = count() by ProductCategoryName
    | order by TotalSales desc
    

    Результаты должны выглядеть следующим образом:

    Screenshot of lookup operator with total sales per product query and results.

    Обратите внимание, что вы получаете те же результаты, но время выполнения — 0,398 секунды. Более быстрое время выполнения обусловлено тем, что lookup оператор оптимизирован для этого типа запроса.