Получение данных из реляционных источников данных

Завершено

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

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

Сценарий

Отдел продаж в Tailwind Traders попросил вас подключиться к локальной базе данных SQL Server организации и получить данные о продажах в Power BI Desktop, чтобы вы могли создавать отчеты о продажах.

Снимок экрана: поток данных из базы данных SQL в Power BI

Подключение к данным в реляционной базе данных

Вы можете использовать функцию Получить данные в Power BI Desktop и выбрать подходящий вариант для своей реляционной базы данных. В этом примере вам нужно выбрать вариант SQL Server, как показано на следующем снимке экрана.

Совет

Рядом с кнопкой Получить данные имеются кнопки быстрого доступа к источникам данных, например к SQL Server.

Снимок экрана: меню

Следующий шаг — ввод имени вашего сервера базы данных и имени базы данных в окне База данных SQL Server.  Доступны два варианта режима подключения к данным: Import (выбран по умолчанию) и DirectQuery. В основном вы выбираете Import. В окне База данных SQL Server есть и другие параметры, но пока их можно игнорировать.

Снимок экрана: сведения о базе данных SQL Server

После добавления имен сервера и базы данных вам будет предложено выполнить вход с помощью имени пользователя и пароля. У вас будет три варианта входа:

  • Windows — используйте свою учетную запись Windows (учетные данные Azure Active Directory).

  • База данных — используйте свои учетные данные базы данных.   Например, в SQL Server имеется собственная система входа и проверки подлинности, которая иногда используется.   Если администратор базы данных предоставил вам уникальные данные для входа в базу данных, может потребоваться ввести эти учетные данные на вкладке База данных.

  • Учетная запись Майкрософт — используйте учетные данные учетной записи Майкрософт.  Этот вариант используется для служб Azure.

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

Снимок экрана: сведения для авторизации базы данных

Выбор данных для импорта

После подключения базы данных к Power BI Desktop в окне навигатора отображаются данные, доступные в вашем источнике данных (в данном примере в базе данных SQL). Вы можете выбрать таблицу или сущность для предварительного просмотра содержимого и проверки правильности данных, которые будут загружены в модель Power BI.

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

  • Если вы нажмете кнопку Загрузить, данные будут автоматически загружены в модель Power BI в их текущем состоянии.

  • Если вы нажмете кнопку Преобразовать данные, ваши данные будут открыты в Microsoft Power Query, где можно выполнить такие действия, как удаление ненужных строк или столбцов, группирование данных, удаление ошибок и другие, чтобы обеспечить качество данных.

    Снимок экрана: окно

Импорт данных при помощи SQL-запроса

Другой способ импорта данных — создать SQL-запрос, указывающий только необходимые таблицы и столбцы.

Чтобы создать SQL-запрос, в окне База данных SQL Server введите имена сервера и базы данных, а затем щелкните стрелку рядом с пунктом Дополнительные параметры, чтобы развернуть этот раздел и просмотреть параметры. В поле Инструкция SQL введите инструкцию для своего запроса, а затем нажмите кнопку OK. В этом примере вы будете использовать инструкцию Select SQL для загрузки столбцов ID, NAME и SALESAMOUNT из таблицы SALES.

Снимок экрана: диалоговое окно

Изменение параметров источника данных

После создания подключения к источнику данных и загрузки данных в Power BI Desktop можно в любое время вернуться и изменить параметры подключения.  Это действие часто требуется из-за политики безопасности в организации, например, когда пароль должен обновляться каждые 90 дней.  Вы можете изменить источник данных, изменить разрешения или удалить разрешения.

На вкладке Главная выберите Преобразовать данные, а затем выберите параметр Параметры источника данных.

Снимок экрана: развернутое меню

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

Снимок экрана: параметры в окне

Можно также изменить параметры источника данных в Power Query. Выберите таблицу, а затем на вкладке Главная ленты выберите Параметры источника данных. Кроме того, можно перейти в панель Параметры запроса в правой части экрана и щелкнуть значок параметров рядом с пунктом "Источник" (или дважды щелкнуть этот пункт). В появившемся окне обновите сведения о сервере и базе данных, а затем нажмите кнопку ОК.

Снимок экрана: кнопка

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

Создание инструкции SQL

Как упоминалось ранее, можно импортировать данные в модель Power BI с помощью SQL-запроса.  SQL расшифровывается как Structured Query Language (структурированный язык запросов). Это стандартизированный язык программирования, используемый для управления реляционными базами данных и выполнения различных операций управления данными.

Рассмотрим ситуацию, когда в базе данных имеется большая таблица, содержащая данные о продажах в течение нескольких лет. Данные о продажах за 2009 год не относятся к создаваемому отчету. В этой ситуации SQL является полезным, так как он позволяет загружать только необходимый набор данных, указывая точные столбцы и строки в инструкции SQL, а затем импортируя их в семантическую модель.  В своем SQL-запросе вы также можете объединять разные таблицы, выполнять конкретные вычисления, создавать логические операторы и фильтровать данные.

В следующем примере показан простой запрос, в котором из таблицы SALES выбираются столбцы ID, NAME и SALESAMOUNT.

Этот SQL-запрос начинается с инструкции Select, позволяющей указать конкретные поля, которые требуется извлечь из базы данных.  В данном примере вам нужно загрузить столбцы ID, NAME и SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

Предложение FROM указывает имя таблицы, из которой следует извлечь данные. В данном случае это таблица SALES. В следующем примере приведен полный SQL-запрос:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

При использовании SQL-запроса для импорта данных старайтесь не использовать в запросе подстановочный знак (*). Если вы укажете подстановочный знак (*) в своей инструкции Select, то импортируете все, в том числе и ненужные, столбцы из указанной таблицы.

В следующем примере показан запрос с использованием подстановочного знака.

SELECT *
FROM
SALES

Подстановочный знак (*) указывает, что следует импортировать все столбцы из таблицы Sales. Этот метод не рекомендуется, так как он приведет к избыточности данных в семантической модели, что приведет к проблемам с производительностью и потребует дополнительных действий для нормализации данных для создания отчетов.

Все запросы также должны иметь предложение WHERE. Это предложение фильтрует строки, чтобы выбрать только нужные вам записи. В этом примере, если вы хотите получить последние данные о продажах после 1 января 2020 г., добавьте предложение WHERE . Измененный запрос показан в следующем примере.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

Рекомендуется избегать этого непосредственно в Power BI. Вместо этого рекомендуется создавать подобные запросы в представлении. Представление — это объект в реляционной базе данных, аналогичный таблице. Представления имеют строки и столбцы и могут содержать практически все операторы языка SQL. Если Power BI использует представление, то при извлечении данных оно участвует в свертывании запросов — функции Power Query. О свертывании запросов будет рассказано далее. Вкратце, Power Query оптимизирует извлечение данных в соответствии с тем, как данные будут использоваться позже.