Создание отчетов Power BI для отображения данных Dynamics 365 Business Central

Вы можете сделать данные Dynamics 365 Business Central доступными в качестве источника данных в Power BI Desktop и создавать мощные отчеты о состоянии вашего бизнеса.

В этой статье описывается, как начать использовать Power BI Desktop для создания отчетов, отображающих данные Dynamics 365 Business Central. После создания отчетов их можно опубликовать в служба Power BI или поделиться ими со всеми пользователями в организации. Когда отчеты находятся в служба Power BI, пользователи с доступом могут просматривать отчеты в Dynamics 365 Business Central.

Подготовка

Замечание

С помощью веб-служб OData можно было получить данные из разных организаций в одном отчете. Однако начиная со второй волны выпуска Business Central 2021 поддерживается только ODataV4. ODataV4 не экспортирует данные из нескольких организаций. Функция $expand в Power BI, которая, как можно подумать, является альтернативным способом создания отчета с несколькими компаниями, тоже не может быть использована. Она создает столбец с названием организации, но не заполняет его данными организации после обновления.

Добавление Business Central в качестве источника данных в Power BI Desktop

Первая задача при создании отчетов — добавить Business Central в качестве источника данных в Power BI Desktop. После подключения вы можете приступить к созданию отчета.

  1. Запустите Power BI Desktop.

  2. Выберите Получить данные.

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

  3. На странице Получить данные выберите Веб-службы.

  4. В области Веб-службы выполните одно из следующих действий:

    • Чтобы подключиться к Business Central через Интернет, выберите Dynamics 365 Business Central, а затем Connect.
  5. Войдите в Business Central (только один раз).

    Если вы не вошли в Business Central из Power BI Desktop, вам будет предложено войти в систему.

    • Для Business Central в Интернете выберите Sign in и выберите соответствующую учетную запись. Используйте ту же учетную запись, которую вы используете для входа в Business Central. Когда готово, выберите Подключить.

    Замечание

    После подключения к Business Central вам не будет предложено снова войти. Как изменить или очистить учетную запись, которую я использую для подключения к Business Central из Power BI Desktop?

  6. При подключении Power BI обращается к службе Business Central. Появляется окно Навигатор, в котором отображаются доступные источники данных для построения отчетов. Выберите какую-либо папку, чтобы развернуть ее и просмотреть доступные источники данных.

    Эти источники данных представляют все API и веб-службы, опубликованные для Business Central, сгруппированные по средам и компаниям. В Business Central online Navigator имеет следующую структуру:

    • Название среды
      • название компании
        • Расширенные API

          В этой папке перечислены расширенные API, опубликованные корпорацией Майкрософт, например API службы автоматизации Business Central и API, опубликованные другими организациями (эти API называются пользовательскими API). Пользовательские API далее сгруппированы по папкам по свойствам APIPublisher/APIGroup исходного кода API.

        • Стандартные API v2.0

          В этой папке перечислены API данных, предоставляемые в Business Central API версии 2.0. Эти API используются для чтения данных из базы данных Business Central, таких как основные данные (клиент, поставщик, элемент и т. д.), транзакции (общие записи реестра, записи клиента и т. д.) или настройки данных (измерения, методы оплаты, единица измерения и т. д.).

        • Веб-службы (устаревшие версии)

          В этой папке перечислены страницы, кодуниты и запросы, опубликованные как веб-службы в Business Central. Использование этого устаревшего метода для чтения данных из Business Central не рекомендуется. Вместо этого мы рекомендуем использовать API.

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

  8. Если позже вы хотите добавить дополнительные Business Central данные, можно повторить предыдущие шаги.

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

Tip

Дополнительную информацию см. в разделе Начало работы с Power BI Desktop, а также сведения об использовании Power BI Desktop.

Создание доступных отчетов

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

Создание отчетов для отображения данных, связанных со списком в Business Central

Вы можете создавать отчеты, отображаемые в FactBox на странице списка Business Central, и изменять, когда в списке выбраны разные строки. Создание этих отчетов аналогично созданию других отчетов, за исключением того, что нужно выполнить определенные действия, чтобы убедиться, что отчеты отображаются должным образом. Узнайте больше о создании отчетов Power BI для отображения данных списков в Business Central.

Использование темы отчета Business Central (необязательно)

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

Замечание

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

Скачивание темы

Файл темы доступен в виде json-файла в коллекции тем Microsoft Сообщество Power BI. Чтобы скачать файл темы, выполните следующие действия:

  1. Перейдите к коллекции тем Microsoft Сообщество Power BI для Microsoft Dynamics 365 Business Central.
  2. Выберите вложенный файл для скачивания Microsoft Dynamics Business Central.json.

Импорт темы в отчет

После скачивания темы отчета Business Central его можно импортировать в отчеты. Чтобы импортировать тему, выберите Представление>Темы>Поиск тем. Дополнительные сведения см. в разделе Power BI Desktop — импорт пользовательских тем отчетов.

Публикация отчетов

После создания или изменения отчета вы можете опубликовать отчет в служба Power BI, а также поделиться им с другими пользователями в вашей организации. После публикации отчета он доступен в Business Central. Отчет также становится доступным для выбора в Business Central.

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

Распространение отчета или предоставление доступа к нему

Существует несколько способов делиться отчетами:

  • Поделитесь отчетом из Power BI Сервиса (рекомендуется)

    Если у вас есть лицензия Power BI PRO или вы используете Power BI Premium Capacity, вы можете предоставить общий доступ к отчету непосредственно из сервиса Power BI. Подробнее в разделе Power BI - Опубликовать панель мониторинга или отчет.

  • Распространяйте отчеты в виде файлов .pbix.

    Отчеты хранятся на вашем компьютере в виде файлов .pbix. Вы можете распространять файл .pbix среди пользователей, как и любой другой файл. Затем пользователи, которым вы предоставили общий доступ к файлу, могут отправить его в свои служба Power BI. Дополнительные сведения см. в разделе "Отправка отчетов из файлов".

    Замечание

    Распространение отчетов таким образом означает, что обновление данных для отчетов выполняется каждым пользователем индивидуально. Эта ситуация может повлиять на производительность Business Central.

Как разрабатывать отчеты Power BI, охватывающие несколько организаций или сред

Конечные точки API Business Central имеют префикс https://api.businesscentral.dynamics.com/v2.0/<environment_name>/api/v2.0 за которым следует /companies({company_id})/accounts({id}) (здесь мы используем API accounts в качестве иллюстрации). Вы можете использовать эту структуру для создания запросов PowerQuery, которые загружают данные для нескольких организаций или нескольких сред, если у пользователя, читающего данные, есть к ним доступ.

Чтобы создать запрос для загрузки данных для нескольких организаций, выполните следующие действия:

  1. Возьмите запрос PowerQuery, который загружает данные для одной организации. Преобразуйте его в пользовательскую функцию Power Query, которая принимает идентификатор компании (или, возможно, имя среды) в качестве параметров. Дополнительные сведения см. в разделе "Использование пользовательских функций Power Query".
  2. Теперь используйте новую пользовательскую функцию в запросе PowerQuery, где сопоставляете функцию со списком компаний, а затем объединяете наборы данных с помощью функции Table.Combine Power Query.

Настройте код Power Query для подключения к источнику данных Business Central

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

Для этого выполните следующие действия:

  1. Запустите Power BI Desktop.

  2. Выполните шаг, соответствующий вашему сценарию:

    1. Выберите Файл>Открыть.
    2. Найдите и выберите отчет (.pbix).
    3. На ленте выберите Transform Data, чтобы открыть Редактор Power Query.

  1. В Редактор Power Query выберите Расширенный редактор на ленте.

Это отображает код Power Query, который система автоматически сгенерировала при выборе вами в навигаторе. Например, предположим, что выбрана среда Business Central с именем Production, компания называется CRONUS USA, Inc., папкой API с именем Standard API версии 2.0 и таблицей customers. Переход к Расширенный редактор будет отображать запрос, аналогичный этому:

let
  Source = Dynamics365BusinessCentral.ApiContentsWithOptions(null, null, null, null),
  PRODUCTION = Source{[Name="PRODUCTION"]}[Data],
  #"CRONUS USA, Inc." = PRODUCTION{[Name="CRONUS USA, Inc."]}[Data],
  v2.0 = #"CRONUS USA, Inc."{[Name="v2.0"]}[Data],
  customers_table = v2.0{[Name="customers",Signature="table"]}[Data]
in
  customers_table

Теперь вы можете вручную отредактировать этот запрос, чтобы внести изменения, которые подходят вашим потребностям.

Функция Dynamics365BusinessCentral.ApiContentsWithOptions

В приведенном выше запросе функция Dynamics365BusinessCentral.ApiContentsWithOptions отвечает за подключение к Business Central и получение данных. Эта функция содержит 4 необязательных параметра, которые не предоставляются в запросе по умолчанию.

Ниже приведена разбивка различных параметров:

Parameter Примеры Description
Окружающая среда "Production" Этот параметр позволяет указать среду Business Central для подключения. Если функция не указана, функция возвращает список всех сред и необходимо выбрать соответствующую среду в последующих шагах кода Power Query
Company "CRONUS USA, Inc." Этот параметр позволяет указать компанию Business Central, к которой нужно подключиться в выбранной среде. Этот параметр игнорируется, если параметр Среда не указан. Если функция не указана, функция возвращает список всех компаний в выбранной среде (или средах), и необходимо выбрать соответствующую компанию в последующих шагах кода Power Query
Категория API (или маршрут API) "microsoft/runtime/beta", "v2.0" Этот параметр позволяет указать маршрут API, подключенный к Business Central, внутри выбранной среды и компании. Этот параметр игнорируется, если параметры Среда и Компания не указаны. Если функция не указана, функция возвращает список всех категорий API (также называемых маршрутами API) в выбранной среде, средах и компаниях, и необходимо выбрать соответствующую категорию API в последующих шагах кода Power Query
Дополнительные параметры Этот параметр позволяет указать некоторые дополнительные параметры для подключения к источнику данных Business Central. Обратите внимание, что в подавляющем большинстве случаев значения по умолчанию оптимизированы и не нуждаются в изменении. Дополнительные сведения об этих параметрах см. в следующем разделе.

Например, запрос, показанный выше в этом разделе, полностью эквивалентен следующему запросу:

 let
   Source = Dynamics365BusinessCentral.ApiContentsWithOptions("PRODUCTION", "CRONUS USA, Inc.", "v2.0", null),
   customers_table = Source{[Name="customers",Signature="table"]}[Data]
 in
   customers_table

Дополнительно: настройка языка, времени ожидания, реплики базы данных или размера страницы для источника данных Business Central

Соединитель Power BI для Business Central поддерживает несколько дополнительных свойств для подключения к источнику данных Business Central, который можно задать в запросах Power Query. В следующей таблице описаны параметры.

Дополнительные параметры Description По умолчанию Дополнительные сведения см. на странице
AcceptLanguage Этот параметр позволяет указать предпочитаемые языки для ответов, гарантируя, что пользователи будут получать сообщения и переводимые строки на желаемом ими языке. Он задает язык, в котором выполняется сеанс API Business Central. Он влияет на язык сообщений об ошибках, форматированные значения в AL и другие значения, зависящие от языка или языка и региональных параметров.

Установка этого параметра повышает удовлетворенность пользователей и делает данные более доступными и релевантными.
не указано Использовать значения локали в многоязычных отчетах Power BI.
ODataMaxPageSize Этот параметр ограничивает количество сущностей на странице результатов, что обеспечивает большую гибкость при подключении к большим наборам данных или использовании сложных запросов. Он устанавливает максимальное количество записей, возвращаемых для каждой страницы при вызове API. Например, если в таблице Customers имеется 13 000 записей, а для ODataMaxPageSize задано значение 5000, Power BI выполняет 3 вызова API для получения клиентов. Первый вызов получает 5000 записей, следующий — еще 5000, а последний — оставшиеся 3000. Этот параметр не может превышать максимальный размер страницы, применяемый Business Central, что составляет 20000.

Настройка этого параметра обеспечивает эффективный и отзывчивый поиск данных, что позволяет быстрее получать информацию и принимать решения. Вы не можете превышать максимальный размер страницы, определенный в службе.
5000 Свойство ODataPreferenceHeader.MaxPageSize
Таймаут Этот параметр определяет максимальную продолжительность запроса перед отменой. Он задает время ожидания для каждого вызова API для Business Central. Его значение не может превышать время ожидания, применяемое в службе Business Central, которое в настоящее время составляет 10 минут (00:10:00).

Настройка этого параметра помогает эффективно управлять системными ресурсами и предотвращает влияние длительных запросов на общую производительность системы. Пользователи сталкиваются с минимальными задержками и перерывами, что обеспечивает более плавный рабочий процесс.
00:08:00 OData.Feed
UseReadOnlyReplica Этот параметр определяет, будут ли запросы нацелены на первичную базу данных или на реплику, доступную только для чтения. Разгрузка операций чтения из основной базы данных может значительно повысить производительность.

Установка этого свойства приводит к более быстрому извлечению данных и повышению стабильности системы, особенно в периоды пиковой нагрузки.
true

Настройка дополнительных параметров

  1. Выполните действия, чтобы просмотреть код Power Query из Power BI Расширенный редактор

  2. В Расширенный редактор найдите строку, начинающуюся с Source =:

    Source = Dynamics365BusinessCentral.ApiContentsWithOptions(null, null, null, null),
    
  3. В строке замените четвертый параметр Dynamics365BusinessCentral.ApiContentsWithOptions записью Power Query свойств и значений, которые необходимо задать, например:

    Source = Dynamics365BusinessCentral.ApiContentsWithOptions(null, null, null, [UseReadOnlyReplica = true, Timeout = Duration.From("00:07:00"), ODataMaxPageSize = 10000, AcceptLanguage = "it-it"])
    
  4. Выберите Done, чтобы закрыть Расширенный редактор.

  5. Выберите Закрыть и Применить, чтобы сохранить изменения и закрыть Редактор Power Query.

Устранение проблем

"Expression.Error: среда 'Production' не существует". Ошибка при выборе среды Business Central.

ПРИМЕНИМО К: Business Central online

При подключении к Business Central online из Power BI или при установке приложения Power BI Desktop из Microsoft Marketplace, использующего данные Business Central, может потребоваться ввести среду Business Central, к которой вы хотите подключиться.

Если вы получите ошибку, аналогичную "Expression.Error: среда "Производственная" не существует.", выполните следующие действия, чтобы решить проблему:

  1. Убедитесь, что вы используете правильные учетные данные для доступа к Business Central. Эти учетные данные могут не совпадать с учетными данными, используемыми для доступа к Power BI. Как изменить или очистить учетную запись, которую я использую для подключения к Business Central из Power BI Desktop?
  2. Если среда является средой внедрения независимых поставщиков программного обеспечения, необходимо указать имя внедренного независимого поставщика программного обеспечения в скобках как часть имени среды. Например, если вы хотите подключиться к среде с именем "Рабочая" из встраиваемого независимого поставщика программного обеспечения с именем Fabrikam, необходимо указать "Рабочая (fabrikam)" в качестве имени среды.

"Невозможно вставить запись. Текущее намерение подключения — "Только для чтения". Ошибка при подключении к пользовательской странице API

ПРИМЕНИМО К: Business Central online

По умолчанию отчеты, использующие данные из Business Central, подключаются к реплике базы данных Business Central, предназначенной только для чтения. В редких случаях, в зависимости от дизайна API, вы будете видеть сообщение об ошибке при попытке подключения и получения данных со API. Ошибка выглядит следующим образом:

Dynamics365BusinessCentral: Request failed: The remote server returned an error: (400) Bad Request. (Can't insert a record. Current connection intent is Read-Only. CorrelationId: [...])".

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

Включите Ваши бизнес-данные для Power BI
Бизнес-аналитика
Подготовка к работе
Импорт бизнес-данных из других финансовых систем
Настройка Business Central
Finance
Быстрый старт: подключение к данным в Power BI Desktop

Бесплатные модули электронного обучения для Business Central можно найти здесь