Создание визуальных элементов Power BI с помощью Python

Это руководство поможет вам приступить к созданию визуальных элементов с данными Python в Power BI Desktop. Вы используете несколько доступных вариантов и возможностей для создания визуальных отчетов с помощью Python, pandas и библиотеки Matplotlib.

Предварительные требования

Ознакомьтесь с разделом Запуск скриптов Python в Power BI Desktop, чтобы:

  • Установите Python на локальном компьютере.

  • Включите скрипты Python в Power BI Desktop.

  • Установите библиотеки Python pandas и Matplotlib.

  • Импортируйте следующий скрипт Python в Power BI Desktop:

    import pandas as pd 
    df = pd.DataFrame({ 
        'Fname':['Harry','Sally','Paul','Abe','June','Mike','Tom'], 
        'Age':[21,34,42,18,24,80,22], 
        'Weight': [180, 130, 200, 140, 176, 142, 210], 
        'Gender':['M','F','M','M','F','M','M'], 
        'State':['Washington','Oregon','California','Washington','Nevada','Texas','Nevada'],
        'Children':[4,1,2,3,0,2,0],
        'Pets':[3,2,2,5,0,1,5] 
    }) 
    print (df) 
    

Создание визуального элемента Python в Power BI Desktop

После выполнения предварительных требований у вас есть таблица в Power BI Desktop, содержащая примеры данных из скрипта Python: Fname, Age, Weight, Gender, State, Children и Домашних животных. В этом руководстве используется эта таблица для создания визуальных элементов.

  1. Выберите значок Python visual в разделе Визуализации Power BI Desktop.

    Снимок экрана: параметр Python в визуализациях.

  2. В появившемся диалоговом окне "Включить визуальные элементы скрипта" нажмите кнопку "Включить".

    На холсте отчета появляется заполнитель визуального элемента Python, а в нижней части центральной области появляется редактор скрипта Python.

    Снимок экрана: редактор скриптов Python.

  3. Перетащите поля Возраст, Дети, Fname, Пол, Домашние животные, Штат и Вес в раздел Значения, где указано: Перетащите сюда поля данных.

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

    На основе выбранных вариантов редактор скриптов Python создает следующий код привязки.

    • Редактор создает dataframe набора данных с полями, которые вы добавляете.
    • Агрегация по умолчанию — Не суммировать.
    • Как и визуальные элементы таблицы, поля группируются, и повторяющиеся строки отображаются только один раз.
  4. С помощью фрейма данных, автоматически созданного выбранными вами полями, вы можете написать скрипт на Python, который строит график на стандартное устройство Python. По завершении скрипта выберите значок запуска в строке заголовка редактора скриптов Python, чтобы запустить скрипт и создать визуальный элемент.

    Снимок экрана: редактор скриптов Python с начальными комментариями.

Советы

  • Скрипт Python может использовать только поля, добавляемые в раздел "Значения ". Вы можете добавлять или удалять поля при работе с скриптом Python. Power BI Desktop автоматически обнаруживает изменения полей. При выборе или удалении полей из раздела Значения в редакторе скриптов Python автоматически генерируется или удаляется вспомогательный код.

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

  • Вы можете получить доступ к столбцам в наборе данных с помощью их имен. Например, вы можете кодировать dataset["Age"] в скрипте Python для доступа к полю возраста.

  • Power BI Desktop перерисовывает визуальный элемент, когда вы выбираете Запуск в строке заголовка редактора скриптов Python или при изменении данных вследствие обновления, фильтрации или выделения.

  • При запуске скрипта Python, который приводит к ошибке, визуальный элемент Python не отображается, а на холсте отображается сообщение об ошибке. Чтобы просмотреть сведения об ошибке, выберите See details в сообщении.

  • Чтобы получить большее представление визуализаций, можно свести к минимуму редактор скриптов Python.

Создать точечную диаграмму

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

  1. В редакторе скриптов Python в разделе "Вставьте или введите код скрипта" здесь, введите следующий код:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='scatter', x='Age', y='Weight', color='red')
    plt.show() 
    

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

    Снимок экрана: редактор скриптов Python с командами.

    Код импортирует библиотеку Matplotlib, с помощью которой строят графики и создают визуализации.

  2. Выберите "Выполнить", чтобы создать следующую диаграмму рассеяния в визуальном элементе Python.

    Снимок экрана: визуализация точечной диаграммы, созданная из скрипта Python.

Создание графика с несколькими столбцами

Создайте график для каждого человека, который показывает их количество детей и домашних животных.

  1. В разделе "Вставьте или введите код скрипта здесь", удалите или закомментируйте предыдущий код и введите следующий код Python:

    import matplotlib.pyplot as plt 
    ax = plt.gca() 
    dataset.plot(kind='line',x='Fname',y='Children',ax=ax) 
    dataset.plot(kind='line',x='Fname',y='Pets', color='red', ax=ax) 
    plt.show() 
    
  2. Выберите "Выполнить" , чтобы создать следующий график строк с несколькими столбцами:

    Снимок экрана: график с несколькими столбцами из скрипта Python.

Создать столбчатую диаграмму

Создайте столбчатую диаграмму для возраста каждого человека.

  1. В разделе "Вставьте или введите код скрипта здесь", удалите или закомментируйте предыдущий код и введите следующий код Python:

    import matplotlib.pyplot as plt 
    dataset.plot(kind='bar',x='Fname',y='Age') 
    plt.show() 
    
  2. Выберите Выполнить, чтобы создать следующую гистограмму:

    Снимок экрана, на котором показана столбчатая диаграмма из скрипта Python.

Ограничения

Визуальные элементы Python в Power BI Desktop имеют следующие ограничения:

  • Объем данных, которые визуальный элемент Python использует для построения графика, ограничен 150 000 строками. Если выбрать более 150 000 строк, используются только первые 150 000 строк, а на изображении отображается сообщение. Входные данные также имеют ограничение в 250 МБ.

  • Если входной набор данных визуального элемента Python содержит столбец, в котором строковое значение превышает 32 766 символов, это значение усечено.

  • Все визуальные элементы Python отображаются в разрешении 72 DPI.

  • Если визуальное вычисление Python длится более пяти минут, выполнение завершается по тайм-ауту, что приводит к ошибке.

  • Как и в других визуальных элементах Power BI Desktop, при выборе полей данных из разных таблиц без определенных связей между ними возникает ошибка.

  • Визуальные элементы Python обновляются при обновлении данных, фильтрации и выделении. Сам образ не является интерактивным.

  • Визуализации Python реагируют на выделение в других визуализациях, но в самой визуализации Python нельзя выбирать элементы, чтобы перекрёстно фильтровать другие элементы.

  • На холсте корректно отображаются только графики, выводимые на устройство отображения Python по умолчанию. Избегайте явного использования другого устройства отображения Python.

  • Визуальные элементы Python не поддерживают переименование входных столбцов. Исходные имена столбцов используются во время выполнения скрипта.

Безопасность

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

Лицензирование

Для визуализаций Python требуется лицензия Power BI Pro или Premium на пользователя (PPU), чтобы они отображались в отчетах, обновлялись, фильтровались и участвовали в перекрестной фильтрации. Пользователи бесплатной версии Power BI могут использовать только отчеты, совместно используемые им в рабочих областях Premium.

В следующей таблице описаны возможности визуальных элементов Python на основе лицензирования.

Создавайте визуальные элементы Python в Power BI Desktop Создавайте отчеты в службе Power BI с помощью визуализаций Python Просмотр визуальных элементов Python в отчетах
Гость (Power BI embedded) Поддерживается Не поддерживается Поддерживается* для рабочих пространств Fabric/Premium
Неуправляемый клиент (домен не проверен) Поддерживается Не поддерживается Не поддерживается
Управляемый клиент с бесплатной лицензией Поддерживается Не поддерживается Поддерживается* для рабочих пространств Fabric/Premium
Управляемый клиент с лицензией Pro или PPU Поддерживается Поддерживается Поддерживается*

Визуальные элементы Python в службе поддерживаются только в регионах Fabric. Эта поддержка означает, что отчеты, опубликованные в рабочих областях, отображают визуальный элемент диаграммы Python, если рабочая область имеет (1) лицензию Fabric, (2) лицензию Pro или PPU, или (3) лицензию уровня "Премиум", а домашний клиент PBI находится в регионе с доступностью рабочей нагрузки Fabric Spark. Визуальные элементы Python поддерживаются на рабочем столе для всех пользователей.

Дополнительные сведения о лицензиях Power BI Pro и о том, как они отличаются от бесплатных лицензий, см. в статье "Приобретение и назначение лицензий пользователей Power BI Pro".

В этом руководстве лишь поверхностно рассматриваются варианты и способы создания визуальных отчетов с помощью Python, pandas и библиотеки Matplotlib. Дополнительные сведения см. на следующих ресурсах:

Дополнительные сведения о Python в Power BI см. в следующем разделе: