Как сделать воспроизводимый образец данных в PowerBI, используя Python? - PullRequest
2 голосов
/ 18 октября 2019

Это сообщение с автоответчиком. Почему? Потому что многие вопросы в Power BI остаются без ответа из-за отсутствия образцов данных. Кроме того, многие задаются вопросом, как редактировать таблицы данных в Power BI с использованием Python. И, конечно же, миру нужно более широкое использование Python в Power BI. Некоторые думают, что вы должны применить фрагмент Python к существующей таблице, загруженной в другом месте. Мой ответ на этот пост покажет вам, как построить (довольно большой) образец данных с несколькими строками кода в пустом файле Power BI.

Итак, как вы можете построить образец данныхи вносить в него изменения с помощью Python в Power BI?

1 Ответ

3 голосов
/ 18 октября 2019

Я покажу вам, как построить набор данных из 10000 строк, который содержит как категориальные, так и числовые значения. Я использую библиотеки Python numpy и pandas для генерации данных и табличных операций соответственно. Приведенный ниже фрагмент просто рисует случайный элемент из двух списков 10000 раз, чтобы построить два столбца с несколькими названиями улиц и городов, и добавляет в список список случайных чисел. Затем я использую панды для организации данных в кадре данных. Используя Python в Power BI Power Query Editor, ваш ввод должен быть таблицей, а вывод - панда данных pandas.

Фрагмент Python:

import numpy as np
import pandas as pd

np.random.seed(123)
streets=['Broadway', 'Bowery', 'Houston Street']
cities=['New York', 'Chicago', 'Baltimore']

rows = 1000

lst_cities=np.random.choice(cities,rows).tolist()
lst_streets=np.random.choice(streets,rows).tolist()
lst_numbers= np.random.randint(low=0, high=100, size=rows).tolist()
df_dataset=pd.DataFrame({'City':lst_cities,
                      'Street':lst_streets,
                      'ID':lst_numbers})
df_metadata = pd.DataFrame([df_dataset.shape])

Power BI:

В Power BI Desktop нажмите Enter Data, чтобы перейти к Power Query Editor. В следующем диалоговом окне не делайте ничего, кроме нажатия OK. В результате получается пустая таблица и два шага под Applied steps:

enter image description here

Теперь используйте Transform > Run Python Script, вставьте фрагмент выше и нажмите OK чтобы получить это:

enter image description here

Теперь у вас есть предварительная таблица с 2 столбцами и 3 строками. И это довольно изящная деталь реализации Python в Power BI. Это три разных набора данных, которые становятся доступны после запуска вашего сниппета. Dataset построено по умолчанию, но пусто, так как мы начали с пустой таблицы. Если мы начали с каких-то других данных, первая строка Run Python Script объясняет назначение этой таблицы # 'dataset' holds the input data for this script. И это построено в форме pandas dataframe. Последняя таблица df_metadata - это только краткое описание набора данных, который нас действительно интересует: df_dataset, но я добавил его в набор, чтобы проиллюстрировать, что все кадры данных, сделанные вами в вашем фрагменте, будут доступнытебе. Вы выбрали, над какой таблицей продолжить работу, нажав Table рядом с именем.

enter image description here

И это все! Теперь у вас есть таблица смешанных типов данных для работы с Python или самой Power BI:

enter image description here

Отсюда вы можете:

  1. Продолжайте работать над таблицей, используя любую опцию меню
  2. Вставьте другой скрипт Python
  3. Дублируйте свой оригинальный фрейм данных и продолжайте работать над другой версией, создав Reference, щелкнув правой кнопкой мыши Table в Queries:

enter image description here

...