Руководство. Извлечение и вычисление мер 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 к записной книжке .
Настройка записной книжки
В этом разделе описана настройка среды записной книжки с необходимыми модулями и данными.
Установите из PyPI с помощью
%pip
встроенной возможности установкиSemPy
в записной книжке:%pip install semantic-link
Выполните необходимые импорты модулей, которые потребуются вам позже:
import sempy.fabric as fabric
Вы можете подключиться к рабочей области Power BI. Список семантических моделей в рабочей области:
fabric.list_datasets()
Загрузите семантику модели. В этом руководстве используется семантическая модель 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=True
XMLA 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:
- Руководство. Очистка данных с помощью функциональных зависимостей
- Руководство. Анализ функциональных зависимостей в примере семантической модели
- Руководство. Обнаружение связей в семантической модели с помощью семантической связи
- Руководство. Обнаружение связей в наборе данных Synthea с помощью семантической ссылки (предварительная версия)
- Руководство по проверке данных с помощью SemPy и великих ожиданий (GX) (предварительная версия)