Перейти к основному содержимому

Power BI StarterEnterpriseEnterprise +Preview

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

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

  • У вас настроен Semantic Layer.
  • Вы используете поддерживаемый релизный трек dbt или dbt версии 1.6 и выше.
  • У вас установлен Power BI Desktop или Power BI On-premises Data Gateway.
    • Power BI Service нативно не поддерживает пользовательские коннекторы. Чтобы использовать коннектор в Power BI Service, необходимо установить и настроить его в On-premises Data Gateway.
  • Для входа вам потребуется хост dbt, Environment ID и service token или personal access token. Эта учетная запись должна быть настроена для работы с Semantic Layer.
  • У вас должен быть аккаунт dbt уровня Starter или Enterprise account. Подходит как для Multi-tenant, так и для Single-tenant развертывания.
📹 Узнайте о семантическом слое dbt с помощью видеокурсов по запросу!

Изучите наш курс по семантическому слою dbt, чтобы узнать, как определять и запрашивать метрики в вашем проекте dbt.

Кроме того, погрузитесь в мини-курсы по запросам к семантическому слою dbt в ваших любимых инструментах: Tableau, Excel, Hex и Mode.

Установка коннектора

Power BI коннектор для Semantic Layer состоит из пользовательского Power BI коннектора .pqx и ODBC-драйвера. Установите оба компонента с помощью нашего Windows-инсталлятора, следуя шагам ниже:

1. Загрузите и установите .msi-установщик

  • Запустите установщик и следуйте инструкциям на экране.
  • В результате ODBC-драйвер и коннектор будут установлены в Power BI Desktop.

2. Проверьте установку

  • Откройте ODBC Data Sources (64-bit) на вашем компьютере.
  • Перейдите в раздел System DSN и убедитесь, что зарегистрирован dbt Labs ODBC DSN.
  • Перейдите в раздел Drivers и убедитесь, что установлен dbt Labs ODBC Driver.
  • Откройте Power BI Desktop, перейдите в Settings, затем Data Source Settings. Убедитесь, что коннектор dbt Semantic Layer корректно загружен.

Чтобы опубликованные отчеты в Power BI Service могли использовать коннектор, IT-администратор вашей организации должен установить и настроить его в On-premises Data Gateway.

Для ИТ-администраторов

Этот раздел предназначен для IT-администраторов, которые устанавливают ODBC-драйвер и коннектор в On-premises Data Gateway.

Чтобы опубликованные отчеты могли использовать коннектор в Power BI Service, IT-администратор должен установить и настроить коннектор.

1. Install the ODBC driver and connector into an On-premises Data Gateway

  • Запустите тот же .msi-установщик, который используется для Power BI Desktop.
  • Установите его на машине, где размещен ваш gateway.

2. Copy connector file to Gateway directory

  • Найдите файл .pqx: C:\Users\<YourUser>\Documents\Power BI Desktop\Custom Connectors\dbtSemanticLayer.pqx.
  • Скопируйте его в каталог пользовательских коннекторов Power BI On-premises Data Gateway: C:\Windows\ServiceProfiles\PBIEgwService\Documents\Power BI Desktop\Custom Connectors.

3. Verify installation

4. Enable connector in Power BI Enterprise Gateway

  • Откройте EnterpriseGatewayConfigurator.exe.
  • Перейдите в раздел Connectors.
  • Убедитесь, что коннектор dbt Semantic Layer установлен и активен.

Для получения дополнительной информации о настройке пользовательских коннекторов в Power BI On-premises Data Gateway обратитесь к официальной документации Power BI.

Настройка коннектора

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

Чтобы настроить учетные данные проекта в Power BI Desktop:

  1. Создайте пустой отчет.
  2. В левом верхнем углу нажмите Get data.
  3. Найдите Semantic Layer и нажмите Connect.
  4. Заполните параметры подключения. Host и Environment ID можно найти в настройках Semantic Layer для вашего проекта dbt.
    подсказка

    Убедитесь, что в разделе Data Connectivity mode выбран DirectQuery, так как коннектор Semantic Layer не поддерживает режим Import. Подробнее см. в разделе Considerations.

  5. Нажмите OK, чтобы продолжить.
    Выбор режима DirectQueryВыбор режима DirectQuery
  6. На следующем экране вставьте ваш service token или personal access token и нажмите Connect.
  7. Вы увидите боковую панель с несколькими «виртуальными» таблицами. ALL представляет все определенные объекты semantic layer. Остальные таблицы соответствуют сохраненным запросам. Выберите таблицу, которую хотите загрузить в дашборд, затем нажмите Load.
    Выбор таблиц в боковой панелиВыбор таблиц в боковой панели

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

Настройка опубликованных отчётов

После публикации отчета и при первом нажатии Publish для конкретного отчета необходимо настроить Power BI Service для использования On-premises Data Gateway вашей организации для доступа к данным из Semantic Layer:

  1. В правом верхнем углу нажмите Settings > Power BI settings.
    Переход в Settings > Power BI SettingsПереход в Settings > Power BI Settings
  2. Перейдите на вкладку Semantic models и выберите ваш отчет в боковой панели слева.
  3. В разделе Gateway and cloud connections выберите On-premises Data Gateway, на котором IT-администратор установил коннектор Semantic Layer.
    • Если статус Not configured correctly, необходимо выполнить дополнительную настройку.
    Настройка подключения к gatewayНастройка подключения к gateway
  4. Нажмите на стрелку в колонке Actions, затем выберите Manually add to gateway.
    Ручное добавление в gatewayРучное добавление в gateway
  5. Укажите имя подключения и введите параметры подключения.
    • Установите подключение как Encrypted (обязательно). Если этого не сделать, серверы Semantic Layer отклонят соединение.
    Настройка подключения как EncryptedНастройка подключения как Encrypted
  6. Нажмите Create. Будет выполнен тест подключения (если вы не выбрали его пропуск). При успешном подключении настройки будут сохранены.

Теперь вы можете вернуться к опубликованному отчету в Power BI Service и убедиться, что данные загружаются корректно.

Использование коннектора

В этом разделе описывается, как использовать коннектор Semantic Layer в Power BI.

Коннектор Semantic Layer создает:

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

Эти таблицы фактически не соответствуют физическим таблицам в вашем хранилище данных. Вместо этого Power BI отправляет запросы к этим таблицам, а серверы Semantic Layer (до выполнения запроса в хранилище):

  • Парсят SQL.
  • Извлекают все запрашиваемые столбцы, group by и фильтры.
  • Генерируют SQL для запроса к существующим таблицам.
  • Возвращают данные обратно в Power BI, который «не знает», что все это происходило.
Диаграмма интеграции Power BIДиаграмма интеграции Power BI

Это обеспечивает очень гибкие аналитические сценарии, такие как перетаскивание метрик и разрез данных по измерениям и сущностям — Semantic Layer автоматически сгенерирует корректный SQL для запроса к вашему источнику данных.

Соображения

 Не каждый «столбец» METRICS.ALL совместим с любым другим столбцом
  • METRICS.ALL объединяет все существующие метрики, сущности и измерения. Запросы должны быть валидными запросами Semantic Layer, иначе они завершатся ошибками компиляции запросов MetricFlow.

  • Для таблиц сохраненных запросов все «столбцы» будут совместимы друг с другом, так как по определению сохраненные запросы являются валидными и могут быть разрезаны по любым измерениям, присутствующим в запросе.

 Коннектор dbt Semantic Layer нативно не поддерживает режим Import
  • Используйте режим DirectQuery для обеспечения совместимости.
  • Режим Import пытается выбрать целую таблицу для импорта в Power BI, что, скорее всего, приведет к генерации SQL, который будет некорректным запросом Semantic Layer и попытается одновременно запросить все метрики, измерения и сущности.
  • Чтобы импортировать данные в отчет Power BI:
    • Выберите валидную комбинацию столбцов для импорта (ту, которая сгенерирует корректный запрос Semantic Layer).
    • Вы можете использовать Table.SelectColumns для этого: = Table.SelectColumns(Source{[Item="ALL",Schema="METRICS",Catalog=null]}[Data], {"Total Profit", "Metric Time (Day)"})
    • Имейте в виду, что все вычисления будут выполняться внутри Power BI и не будут проходить через серверы Semantic Layer. Это может привести к некорректным или расходящимся результатам.
    • Например, Semantic Layer обычно отвечает за агрегацию накопительных метрик к более крупной временной гранулярности. Суммирование всех недель в году для получения годовой гранулярности из недельного запроса Semantic Layer, скорее всего, даст некорректный результат. Вместо этого следует напрямую запрашивать Semantic Layer для получения точных данных.
 Коннектор dbt Semantic Layer игнорирует агрегации, определенные в Power BI
  • Если вы измените тип агрегации метрики с SUM() на COUNT() или любой другой, ничего не изменится. Это связано с тем, что функции агрегации определяются в Semantic Layer, и они игнорируются при трансляции SQL, сгенерированного Power BI, в запросы Semantic Layer.
  • Агрегации в Power BI, такие как Count (Distinct), Standard Deviation, Variance и Median, могут возвращать ошибку и не работать вовсе.
 Какие действия не поддерживаются?

Не поддерживаются следующие возможности:

  • Пользовательское моделирование
  • Соединение таблиц
  • Создание пользовательских столбцов внутри таблицы
  • Пользовательские Data Analysis Expressions (DAX) или Power Query (PQ)

Нашли ошибку?

0
Loading