© navision.pl | Opracowano na podstawie: Microsoft Learn (CC BY 4.0)
Tworzenie raportów Power BI do wyświetlania danych Dynamics 365 Business Central
Możesz udostępnić dane Dynamics 365 Business Central jako źródło danych w Power BI Desktop i tworzyć zaawansowane raporty o stanie firmy.
W tym artykule opisano, jak rozpocząć korzystanie z Power BI Desktop do tworzenia raportów wyświetlających dane Dynamics 365 Business Central. Po utworzeniu raportów możesz je opublikować w Usługa Power BI lub udostępnić wszystkim użytkownikom w organizacji. Gdy raporty znajdują się w Usługa Power BI, użytkownicy z dostępem mogą je przeglądać w Dynamics 365 Business Central.
Przygotowanie
- Zarejestruj się w Usługa Power BI.
Jeśli nie jesteś zarejestrowany, przejdź do https://powerbi.microsoft.com. Podczas rejestracji użyj służbowego adresu e-mail i hasła.
- Pobierz Power BI Desktop.
Power BI Desktop to bezpłatna aplikacja instalowana na komputerze lokalnym. Dowiedz się więcej na stronie Quickstart: Connect to data in Power BI Desktop.
- Upewnij się, że dane, które chcesz umieścić w raporcie, są dostępne jako API (zalecane) lub opublikowane jako usługa internetowa. Dowiedz się więcej na stronie Włączanie integracji Power BI z Business Central.
- Pobierz motyw raportu Business Central (opcjonalnie).
Dowiedz się więcej w sekcji Używanie motywu raportu Business Central w tym artykule.
Uwaga
Można było pobierać dane z różnych firm w jednym raporcie za pomocą usług internetowych OData. Jednak począwszy od Business Central 2021 release wave 2, obsługiwana jest tylko wersja ODataV4. ODataV4 nie eksportuje danych z wielu firm. Nie można również użyć funkcji $expand w Power BI, która mogłaby wydawać się alternatywnym sposobem tworzenia raportu wielofirmowego. Tworzy ona kolumnę z nazwą firmy, ale nie wypełnia jej danymi firmy po odświeżeniu.
Dodawanie Business Central jako źródła danych w Power BI Desktop
Pierwszym zadaniem przy tworzeniu raportów jest dodanie Business Central jako źródła danych w Power BI Desktop. Po nawiązaniu połączenia możesz rozpocząć tworzenie raportu.
- Uruchom Power BI Desktop.
- Wybierz Pobierz dane.
Jeśli nie widzisz opcji Pobierz dane, wybierz menu Plik, a następnie Pobierz dane. 3. Na stronie Pobierz dane wybierz Usługi online. 4. W okienku Usługi online wykonaj jeden z następujących kroków:
- Aby połączyć się z Business Central online, wybierz **Dynamics 365 Business Central**, a następnie **Połącz**.
<!--- To connect to Business Central on-premises, select **Dynamics 365 Business Central (on-premises)**, then **Connect**.-->
-
Zaloguj się do Business Central (tylko jednorazowo).
Jeśli nie jesteś zalogowany do Business Central z poziomu Power BI Desktop, zostaniesz poproszony o zalogowanie.
- W przypadku Business Central online wybierz Zaloguj się, a następnie wybierz odpowiednie konto. Użyj tego samego konta, którego używasz do logowania się do Business Central. Po zakończeniu wybierz Połącz.
Uwaga
Po połączeniu z Business Central nie będziesz ponownie proszony o zalogowanie. How do I change or clear the account I'm currently using to connect to Business Central from Power BI Desktop?
- Po nawiązaniu połączenia Power BI kontaktuje się z usługą Business Central. Okno Nawigator wyświetla źródła danych dostępne do tworzenia raportów. Wybierz folder, aby go rozwinąć i wyświetlić dostępne źródła danych.
Te źródła danych reprezentują wszystkie interfejsy API i usługi internetowe opublikowane dla Business Central, pogrupowane według środowisk i firm. W przypadku Business Central online Nawigator ma następującą strukturę:
- **Nazwa środowiska**
- **Nazwa firmy**
- **Zaawansowane interfejsy API**
Ten folder zawiera zaawansowane interfejsy API opublikowane przez Microsoft, takie jak [Business Central automation APIs](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/administration/itpro-introduction-to-automation-apis), oraz interfejsy API opublikowane przez inne organizacje (te interfejsy API nazywane są niestandardowymi interfejsami API). Niestandardowe interfejsy API są dodatkowo grupowane w folderach zgodnie z właściwościami [APIPublisher](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-apipublisher-property)/[APIGroup](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-apigroup-property) kodu źródłowego interfejsu API.
- **Standardowe interfejsy API v2.0**
Ten folder zawiera interfejsy API danych udostępnione w [Business Central API V2.0](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/). Te interfejsy API służą do odczytu danych z bazy danych Business Central, takich jak dane podstawowe (nabywca, dostawca, zapas itd.), transakcje (zapisy księgi głównej, zapisy nabywców itd.) lub dane konfiguracyjne (wymiary, metody płatności, jednostki miary itd.).
- **Usługi internetowe \(przestarzałe)**
Ten folder zawiera strony, jednostki kodu i zapytania opublikowane jako usługi internetowe w Business Central. Odradza się używanie tej przestarzałej metody do odczytu danych z Business Central. Zalecamy używanie interfejsów API.
<!--
Uwaga
Struktura dla Business Central on-premises jest inna, ponieważ nie obsługuje stron API.-->
- Wybierz źródło danych lub źródła, które chcesz dodać do modelu danych, a następnie wybierz przycisk Załaduj.
- Jeśli później zechcesz dodać więcej danych z Business Central, możesz powtórzyć poprzednie kroki.
Po załadowaniu danych możesz je zobaczyć w prawej nawigacji na stronie. W tym momencie masz połączenie z danymi Business Central i możesz rozpocząć tworzenie raportu Power BI.
Porada
Dowiedz się więcej w artykule Get started with Power BI Desktop oraz o korzystaniu z Power BI Desktop.
Tworzenie dostępnych raportów
Ważne jest, aby raporty były użyteczne dla jak największej liczby osób. Staraj się projektować raporty w taki sposób, aby nie wymagały specjalnych dostosowań do specyficznych potrzeb różnych użytkowników. Upewnij się, że projekt umożliwia użytkownikom korzystanie z technologii wspomagających, takich jak czytniki ekranu. Power BI zawiera różne funkcje dostępności, narzędzia i wytyczne pomocnicze. Dowiedz się więcej w artykule Design Power BI reports for accessibility w dokumentacji Power BI.
Tworzenie raportów wyświetlających dane powiązane z listą w Business Central
Możesz tworzyć raporty wyświetlane w polu informacji na stronie listy Business Central, które zmieniają się po wybraniu różnych wierszy na liście. Tworzenie tych raportów jest podobne do innych raportów, z wyjątkiem kilku rzeczy, które należy zrobić, aby raporty wyświetlały się zgodnie z oczekiwaniami. Dowiedz się więcej w artykule Wyświetlanie niestandardowych raportów Power BI.
Używanie motywu raportów Business Central (opcjonalnie)
Przed utworzeniem raportu zalecamy pobranie i zaimportowanie pliku motywu Business Central. Plik motywu tworzy paletę kolorów, dzięki czemu możesz tworzyć raporty z takim samym stylem kolorystycznym jak aplikacje Business Central, bez konieczności definiowania niestandardowych kolorów dla każdej wizualizacji.
Uwaga
To zadanie jest opcjonalne. Zawsze możesz najpierw utworzyć raporty, a następnie pobrać i zastosować szablon stylu później.
Pobieranie motywu
Plik motywu jest dostępny jako plik json w galerii motywów społeczności Microsoft Power BI. Aby pobrać plik motywu, wykonaj następujące kroki:
- Przejdź do Microsoft Power BI Community Themes Gallery for Microsoft Dynamics 365 Business Central.
- Wybierz załącznik do pobrania Microsoft Dynamics Business Central.json.
Importowanie motywu do raportu
Po pobraniu motywu raportów Business Central możesz go zaimportować do swoich raportów. Aby zaimportować motyw, wybierz Widok > Motywy > Przeglądaj w poszukiwaniu motywów. Dowiedz się więcej w artykule Power BI Desktop - Import custom report themes.
Publikowanie raportów
Po utworzeniu lub zmodyfikowaniu raportu możesz opublikować raport w usłudze Usługa Power BI, a także udostępnić go innym osobom w organizacji. Po opublikowaniu raport jest dostępny w Business Central. Raport staje się również dostępny do wyboru w Business Central.
Aby opublikować raport, wybierz Publikuj na karcie Narzędzia główne wstążki lub z menu Plik. Jeśli jesteś zalogowany do usługi Usługa Power BI, raport zostanie opublikowany w tej usłudze. W przeciwnym razie zostaniesz poproszony o zalogowanie.
Dystrybucja lub udostępnianie raportu
Istnieje kilka sposobów udostępniania raportów:
-
Udostępnij raport z usługi Usługa Power BI (zalecane)
Jeśli masz licencję Power BI PRO lub korzystasz z Power BI Premium Capacity, możesz udostępnić raport bezpośrednio z usługi Usługa Power BI. Dowiedz się więcej w artykule Power BI - Share a dashboard or report.
-
Dystrybuuj raporty jako pliki .pbix.
Raporty są przechowywane na komputerze jako pliki .pbix. Możesz dystrybuować plik .pbix do użytkowników, jak każdy inny plik. Następnie osoby, którym udostępniono plik, mogą przesłać go do swojej usługi Usługa Power BI. Dowiedz się więcej w artykule Praca z raportami Power BI w Business Central.
Uwaga
Dystrybucja raportów w ten sposób oznacza, że odświeżanie danych dla raportów jest wykonywane indywidualnie przez każdego użytkownika. Ta sytuacja może wpłynąć na wydajność Business Central.
Jak tworzyć raporty Power BI obejmujące wiele firm lub środowisk
Wszystkie punkty końcowe API Business Central mają prefiks https://api.businesscentral.dynamics.com/v2.0/<environment_name>/api/v2.0, po którym następuje /companies({company_id})/accounts({id}) (tutaj używamy API accounts jako ilustracji). Możesz użyć tej struktury do tworzenia zapytań PowerQuery, które ładują dane dla wielu firm lub wielu środowisk, jeśli użytkownik odczytujący dane ma do nich dostęp.
Aby skonfigurować zapytanie ładujące dane dla wielu firm, wykonaj następujące kroki:
- Weź zapytanie PowerQuery, które ładuje dane dla pojedynczej firmy. Przekonwertuj je na niestandardową funkcję Power Query, która przyjmuje identyfikator firmy (lub ewentualnie nazwę środowiska) jako parametry. Dowiedz się więcej w artykule Using custom Power Query functions.
- Teraz użyj nowej funkcji niestandardowej w zapytaniu PowerQuery, gdzie mapujesz funkcję na listę firm, a następnie scalasz zestawy danych za pomocą funkcji Power Query Table.Combine.
Dostosowywanie kodu Power Query łączącego się ze źródłem danych Business Central
W większości przypadków korzystanie z nawigacji w interfejsie użytkownika Power BI Desktop wystarcza, aby rozpocząć tworzenie raportów opartych na danych Business Central. Jednak bardziej złożone scenariusze mogą wymagać ręcznej edycji kodu Power Query odpowiedzialnego za pobieranie danych.
Aby to zrobić, wykonaj następujące kroki:
- Uruchom Power BI Desktop.
- Wykonaj krok odpowiedni dla Twojego scenariusza:
- Wybierz Plik > Otwórz.
- Przeglądaj i wybierz raport (.pbix).
- Na wstążce wybierz Przekształć dane, aby otworzyć Edytor Power Query.
- Na wstążce wybierz Pobierz dane. Jeśli nie widzisz opcji Pobierz dane, wybierz menu Plik, a następnie Pobierz dane.
- Na stronie Pobierz dane wybierz Usługi online > Dynamics 365 Business Central > Połącz.
- W oknie Nawigator wybierz punkt końcowy API, z którego chcesz załadować dane.
- Wybierz Przekształć dane zamiast Załaduj, jak zwykle robisz. Ten krok otwiera Edytor Power Query.
- W Edytorze Power Query wybierz Edytor zaawansowany ze wstążki.
Wyświetla to kod Power Query, który system automatycznie wygenerował podczas dokonywania wyborów w nawigatorze. Na przykład załóżmy, że wybrano środowisko Business Central o nazwie Production, firmę o nazwie CRONUS USA, Inc., folder API o nazwie Standard APIs v2.0 oraz tabelę o nazwie customers. Przejście do Edytora zaawansowanego pokaże zapytanie podobne do tego:
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
Możesz teraz ręcznie edytować to zapytanie, aby wprowadzić zmiany odpowiadające Twoim potrzebom.
Funkcja Dynamics365BusinessCentral.ApiContentsWithOptions
W powyższym zapytaniu funkcja Dynamics365BusinessCentral.ApiContentsWithOptions jest odpowiedzialna za łączenie się z Business Central i pobieranie danych. Ta funkcja ma 4 opcjonalne parametry, które nie są podane w domyślnym zapytaniu.
Oto zestawienie poszczególnych parametrów:
| Parametr | Przykłady | Opis |
|---|---|---|
| Środowisko | "Production" |
Ten parametr umożliwia określenie środowiska Business Central, z którym chcesz się połączyć. Jeśli nie zostanie określony, funkcja zwraca listę wszystkich środowisk i należy wybrać odpowiednie środowisko w kolejnych krokach kodu Power Query |
| Firma | "CRONUS USA, Inc." |
Ten parametr umożliwia określenie firmy Business Central, z którą chcesz się połączyć, w wybranym środowisku. Ten parametr jest ignorowany, jeśli parametr Środowisko nie został określony. Jeśli nie zostanie określony, funkcja zwraca listę wszystkich firm w wybranym środowisku (lub środowiskach) i należy wybrać odpowiednią firmę w kolejnych krokach kodu Power Query |
| Kategoria API (lub trasa API) | "microsoft/runtime/beta", "v2.0" |
Ten parametr umożliwia określenie trasy API, z którą chcesz się połączyć w Business Central, w wybranym środowisku i firmie. Ten parametr jest ignorowany, jeśli parametry Środowisko i Firma nie zostały określone. Jeśli nie zostanie określony, funkcja zwraca listę wszystkich kategorii API (nazywanych również trasami API) w wybranym środowisku/środowiskach i firmie/firmach i należy wybrać odpowiednią kategorię API w kolejnych krokach kodu Power Query |
| Opcje zaawansowane | Ten parametr umożliwia określenie niektórych opcji zaawansowanych połączenia ze źródłem danych Business Central. Należy pamiętać, że w zdecydowanej większości przypadków wartości domyślne są zoptymalizowane i nie wymagają zmiany. Więcej informacji o tych parametrach znajduje się w poniższej sekcji. |
Na przykład zapytanie pokazane powyżej w tej sekcji jest całkowicie równoważne następującemu zapytaniu:
powerquery
let
Source = Dynamics365BusinessCentral.ApiContentsWithOptions("PRODUCTION", "CRONUS USA, Inc.", "v2.0", null),
customers_table = Source{[Name="customers",Signature="table"]}[Data]
in
customers_table
Zaawansowane: Dostosowywanie języka, limitu czasu, repliki bazy danych lub rozmiaru strony dla źródła danych Business Central
Łącznik Power BI dla Business Central obsługuje kilka zaawansowanych właściwości połączenia ze źródłem danych Business Central, które można ustawić w zapytaniach Power Query. W poniższej tabeli opisano parametry.
| Opcja zaawansowana | Opis | Domyślna | Dowiedz się więcej |
|---|---|---|---|
| AcceptLanguage | Ten parametr umożliwia określenie preferowanych języków dla odpowiedzi, zapewniając użytkownikom otrzymywanie komunikatów i tłumaczalnych ciągów w wybranym języku. Ustawia język, w którym działa sesja API Business Central. Wpływa na język komunikatów o błędach, sformatowanych wartości w AL i innych wartości zależnych od języka lub kultury. Ustawienie tego parametru zwiększa zadowolenie użytkowników i sprawia, że dane są bardziej dostępne i odpowiednie. |
nieokreślona | Używanie wartości regionalnych w wielojęzycznych raportach Power BI. |
| ODataMaxPageSize | Ten parametr ogranicza liczbę jednostek na stronę wyników, co zapewnia większą elastyczność podczas łączenia się z dużymi zestawami danych lub używania złożonych zapytań. Ustawia maksymalną liczbę rekordów do zwrócenia dla każdej strony podczas wywoływania API. Na przykład, jeśli tabela Nabywcy zawiera 13 000 rekordów, a ODataMaxPageSize jest ustawiony na 5000, Power BI wykonuje 3 wywołania API, aby pobrać nabywców. Pierwsze wywołanie pobiera 5000 rekordów, następne kolejne 5000, a ostatnie wywołanie pobiera pozostałe 3000. Ta opcja nie może być wyższa niż maksymalny rozmiar strony wymuszany przez Business Central, który wynosi 20000. Ustawienie tego parametru zapewnia wydajne i responsywne pobieranie danych, prowadząc do szybszych analiz i podejmowania decyzji. Nie można przekroczyć maksymalnego rozmiaru strony zdefiniowanego w usłudze. |
5000 | Właściwość ODataPreferenceHeader.MaxPageSize |
| Timeout | Ten parametr określa maksymalny czas trwania żądania przed jego anulowaniem. Ustawia limit czasu dla każdego pojedynczego wywołania API do Business Central. Jego wartość nie może przekroczyć limitu czasu wymuszanego przez usługę Business Central, który obecnie wynosi 10 minut (00:10:00). Ustawienie tego parametru pomaga skutecznie zarządzać zasobami systemowymi i zapobiega wpływowi długotrwałych zapytań na ogólną wydajność systemu. Użytkownicy doświadczają minimalnych opóźnień i przerw, co zapewnia płynniejszy przepływ pracy. |
00:08:00 | OData.Feed |
| UseReadOnlyReplica | Ten parametr określa, czy żądania są kierowane do głównej bazy danych, czy do repliki tylko do odczytu. Przeniesienie operacji odczytu z głównej bazy danych może znacznie zwiększyć wydajność. Ustawienie tej właściwości prowadzi do szybszego pobierania danych i poprawy stabilności systemu, szczególnie w okresach szczytowego obciążenia. |
true |
Konfigurowanie opcji zaawansowanych
- Wykonaj kroki, aby wyświetlić kod Power Query z Edytora zaawansowanego Power BI
- W Edytorze zaawansowanym znajdź wiersz rozpoczynający się od
Source =:
- W tym wierszu zamień czwarty parametr
Dynamics365BusinessCentral.ApiContentsWithOptionsna rekord Power Query z właściwościami i wartościami, które chcesz ustawić, na przykład:
Source = Dynamics365BusinessCentral.ApiContentsWithOptions(null, null, null, [UseReadOnlyReplica = true, Timeout = Duration.From("00:07:00"), ODataMaxPageSize = 10000, AcceptLanguage = "it-it"])
- Wybierz Gotowe, aby zamknąć Edytor zaawansowany.
- Wybierz Zamknij i zastosuj, aby zapisać zmiany i zamknąć Edytor Power Query.
Rozwiązywanie problemów
Błąd "Expression.Error: The environment 'Production' doesn't exist." podczas określania środowiska Business Central
DOTYCZY: Business Central online
Podczas łączenia się z Business Central online z Power BI lub podczas instalowania aplikacji Power BI Desktop z Microsoft AppSource, która używa danych Business Central, może pojawić się monit o wprowadzenie środowiska Business Central, z którym chcesz się połączyć.
Jeśli pojawi się błąd podobny do "Expression.Error: The environment 'Production' doesn't exist.", wykonaj następujące kroki w celu rozwiązania problemu:
- Upewnij się, że używasz prawidłowych poświadczeń do uzyskania dostępu do Business Central. Te poświadczenia mogą nie być takie same jak poświadczenia używane do uzyskania dostępu do Power BI. Jak zmienić lub wyczyścić konto, którego obecnie używam do łączenia się z Business Central z Power BI Desktop?
- Jeśli środowisko jest osadzonym środowiskiem ISV, należy określić nazwę osadzonego ISV w nawiasach jako część nazwy środowiska. Na przykład, jeśli chcesz połączyć się ze środowiskiem o nazwie Production z osadzonego ISV o nazwie Fabrikam, musisz podać "PRODUCTION (fabrikam)" jako nazwę środowiska.
Błąd "Can't insert a record. Current connection intent is Read-Only." podczas łączenia z niestandardową stroną API
DOTYCZY: Business Central online
Domyślnie raporty korzystające z danych Business Central łączą się z repliką bazy danych Business Central tylko do odczytu. W rzadkich przypadkach, w zależności od projektu API, może wystąpić błąd podczas próby połączenia i pobrania danych z API. Błąd wygląda następująco:
Dynamics365BusinessCentral: Request failed: The remote server returned an error: (400) Bad Request. (Can't insert a record. Current connection intent is Read-Only. CorrelationId: [...])".
Jeśli używasz niestandardowego API, zalecamy przerobienie kodu AL tak, aby nie dokonywał modyfikacji bazy danych podczas samego odczytu danych. Jednak jeśli Twój scenariusz tego wymaga, możesz skonfigurować łącznik tak, aby używał połączenia do odczytu i zapisu.
Powiązane informacje
Włączanie integracji Power BI z Business Central
Analityka finansowa
Przygotuj się do prowadzenia działalności
Używanie programu Excel do importowania danych
Przegląd zadań konfiguracji Business Central
Finanse
Quickstart: Connect to data in Power BI Desktop
Znajdź bezpłatne moduły e-learningowe dla Business Central tutaj