Поделиться через


Руководство. Извлечение и вычисление мер Power BI из записной книжки Jupyter

В этом руководстве показано, как использовать SemPy (предварительная версия) для вычисления мер в семантических моделях (наборы данных Power BI).

В этом руководстве описано следующее:

  • Оценка мер Power BI программным способом с помощью интерфейса Python библиотеки Python семантической связи (SemPy).
  • Ознакомьтесь с компонентами SemPy, которые помогают преодолеть разрыв между ИИ и бизнес-аналитикой. К этим компонентам относятся:
    • FabricDataFrame — структура, похожая на pandas, улучшена с дополнительной семантической информацией.
    • Полезные функции, позволяющие получить семантические модели, включая необработанные данные, конфигурации и меры.

Необходимые компоненты

  • Получение подписки Microsoft Fabric. Или зарегистрируйте бесплатную пробную версию Microsoft Fabric.

  • Войдите в Microsoft Fabric.

  • Используйте переключатель интерфейса в левой части домашней страницы, чтобы перейти на интерфейс Synapse Обработка и анализ данных.

    Снимок экрана: меню переключателя интерфейса, в котором показано, где выбрать Обработка и анализ данных.

  • Выберите рабочие области в области навигации слева, чтобы найти и выбрать рабочую область. Эта рабочая область становится текущей рабочей областью.

  • Скачайте семантику Семантической модели анализа розничной торговли PBIX.pbix и отправьте ее в рабочую область.

Следуйте инструкциям в записной книжке

Записная книжка powerbi_measures_tutorial.ipynb сопровождает это руководство.

Чтобы открыть сопровождающую записную книжку для этого руководства, следуйте инструкциям в статье "Подготовка системы для обработки и анализа данных", чтобы импортировать записную книжку в рабочую область.

Если вы хотите скопировать и вставить код на этой странице, можно создать новую записную книжку.

Перед запуском кода обязательно подключите lakehouse к записной книжке .

Настройка записной книжки

В этом разделе описана настройка среды записной книжки с необходимыми модулями и данными.

  1. Установите из PyPI с помощью %pip встроенной возможности установки SemPy в записной книжке:

    %pip install semantic-link
    
  2. Выполните необходимые импорты модулей, которые потребуются вам позже:

    import sempy.fabric as fabric
    
  3. Вы можете подключиться к рабочей области Power BI. Список семантических моделей в рабочей области:

    fabric.list_datasets()
    
  4. Загрузите семантику модели. В этом руководстве используется семантическая модель PBIX для анализа розничной торговли:

    dataset = "Retail Analysis Sample PBIX"
    

Перечисление мер рабочей области

Перечислите меры в семантической модели, используя функцию SemPy list_measures следующим образом:

fabric.list_measures(dataset)

Оценка мер

В этом разделе вы оцениваете меры различными способами с помощью функции SemPy evaluate_measure .

Оценка необработанной меры

В следующем коде используйте функцию SemPy evaluate_measure для вычисления предварительно настроенной меры, которая называется "Средний размер области продажи". Базовая формула для этой меры отображается в выходных данных предыдущей ячейки.

fabric.evaluate_measure(dataset, measure="Average Selling Area Size")

Оценка меры с помощью groupby_columns

Вы можете сгруппировать выходные данные меры по определенным столбцам, указав дополнительный параметр groupby_columns:

fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])

В предыдущем коде вы группировались по столбцам Chain и DistrictName Store таблице в семантической модели.

Оценка меры с помощью фильтров

Можно также использовать filters параметр для указания определенных значений, которые результат может содержать для определенных столбцов:

fabric.evaluate_measure(dataset, \
                        measure="Total Units Last Year", \
                        groupby_columns=["Store[Territory]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})

В предыдущем коде Store — это имя таблицы, Territory имя столбца и PA одно из значений, разрешенных фильтром.

Оценка меры в нескольких таблицах

Можно сгруппировать меру по столбцам, охватывающим несколько таблиц в семантической модели.

fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])

Оценка нескольких мер

evaluate_measure Функция позволяет предоставлять идентификаторы нескольких мер и выводить вычисляемые значения в одном кадре данных:

fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])

Использование соединителя XMLA Power BI

Клиент семантической модели по умолчанию поддерживается REST API Power BI. Если с этим клиентом возникли проблемы с выполнением запросов, можно переключить серверную часть на интерфейс use_xmla=TrueXMLA Power BI. Параметры SemPy остаются неизменными для вычисления мер с помощью XMLA.

fabric.evaluate_measure(dataset, \
                        measure=["Average Selling Area Size", "Total Stores"], \
                        groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
                        filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
                        use_xmla=True)

Ознакомьтесь с другими руководствами по семантической ссылке / SemPy: