Как изменить источник Power BI с простого файла на базу данных

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

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

Мы будем использовать простую таблицу месяцев, чтобы пройти через шаги.

Я также импортировал эту таблицу в SQL Server. Я изменил имена, чтобы подтвердить важный шаг.

Я создал новый настольный файл Power BI, импортировал электронную таблицу Excel и создал матричный отчет для отображения данных. Мы хотим, чтобы изменение источника не повлияло отрицательно на отчеты. Также был добавлен новый столбец для тестовых расчетов.

Новый столбец = Месяцы [Аббревиатура месяца] & «-» & Месяцы [Название месяца]

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

Теперь переименуйте поля базы данных, чтобы они соответствовали столбцам Excel. В противном случае вы нарушите свои отчеты.

Матричный отчет

Перейдите в Редактировать запросы и Расширенный редактор для каждого запроса и скопируйте код в блокнот.

Код для таблицы

позволять

Источник = Excel.Workbook (File.Contents («C: \ Users \ bblackburn \ Documents \ Months.xlsx»), null, true),

Sheet1_Sheet = Source {[Item = ”Sheet1, Kind =” Sheet ”]} [Данные],

# "Продвинутые заголовки" = Table.PromoteHeaders (Sheet1_Sheet, [PromoteAllScalars = true]),

# "Измененный тип" = Table.TransformColumnTypes (# "Продвигаемые заголовки", {{"Месяц", Int64.Type}, {"Название месяца", введите текст}, {"Аббревиатура месяца", введите текст}})

in

# "Измененный тип"

Код для таблицы базы данных

позволять

Источник = Sql.Database («**. **. **. **», «‹DBName›»),

etl_Months = Источник {[Схема = "etl", Элемент = "Месяцы"]} [Данные],

# "Переименованные столбцы" = Table.RenameColumns (etl_Months, {{"Месяц БД", "Месяц"}, {"Аббревиатура месяца БД", "Аббревиатура месяца"}, {"Название месяца БД", "Название месяца"}} )

in

# "Переименованные столбцы"

Теперь о правках

В исходном коде базы данных измените имя таблицы на имя электронной таблицы. Т.е. «Etl_Months» заменяется на «Sheet1_Sheet». Теперь источник базы данных выглядит так: (изменения выделены Жирным шрифтом)

позволять

Источник = Sql.Database («**. **. **. **», «‹DBName›»),

Sheet1_Sheet = Источник {[Schema = ”etl”, Item = ”Months”]} [Data],

# "Переименованные столбцы" = Table.RenameColumns (Sheet1_Sheet, {{«Месяц БД», «Месяц»}, {«Аббревиатура месяца БД», «Аббревиатура месяца»}, {«Название месяца БД» , «Название месяца»}})

in

# "Переименованные столбцы"

В расширенном редакторе электронной таблицы замените исходный исходный код на обновленный источник для таблицы базы данных. Это сохранит исходное имя таблицы; но замените исходное соединение.

Закрыть и применить

В окне просмотра данных вычисляемый столбец может переместиться влево. В отчетах по-прежнему будут отображаться все данные. Если в столбце «Месяц» теперь отображаются десятичные числа, вы можете установить десятичное значение на ноль на вкладке «Моделирование».

После проверки отчетов вы можете удалить временный источник базы данных, поскольку теперь он избыточен.

Это займет несколько шагов; но это сэкономит много времени.