Power BI + Dynamics 365: Tiefe Einblicke in die native Integration
Keine BI-Integration im Microsoft-Ökosystem ist enger als Power BI und Dynamics 365. Beide Produkte nutzen die gleiche Cloud-Infrastruktur, das gleiche Authentifizierungsmodell und die gleiche Datenplattform (Dataverse). Microsoft hat viel in die nahtlose Integration dieser Integration investiert – bis zu dem Punkt, an dem eingebettete Power BI-Berichte nativ in Dynamics 365-Formularen, -Dashboards und -Ansichten angezeigt werden, ohne dass eine separate Anmeldung erforderlich ist.
Doch viele Dynamics 365-Organisationen kratzen nur an der Oberfläche dieser Integration. Dieser Leitfaden deckt alle Integrationsmuster ab, von der grundlegenden Dataverse-Verbindung bis hin zu eingebetteten Berichten, Dynamics 365 Sales-Analysen, Finanz-Dashboard-Design und modulübergreifenden Analysen in CRM, ERP und Field Service.
Wichtige Erkenntnisse
– Der Dataverse-Connector ist die native, bevorzugte Verbindungsmethode für alle Dynamics 365-Daten – Eingebettete Power BI-Berichte werden in D365-Formularen und -Dashboards angezeigt, ohne die Benutzeroberfläche zu verlassen – Microsoft Fabric und Dataverse nutzen dieselbe Azure-Infrastruktur – Fabric-Verknüpfungen verhindern die Datenverschiebung – Dynamics 365 Sales verfügt über eine native Analyse-App (Power BI-Vorlagen-App), die in wenigen Minuten bereitgestellt werden kann – Finance and Operations nutzt die Azure Data Lake-Integration für umfangreiche Analysen – Modulübergreifende Analysen (Vertrieb + Finanzen, Service + Inventar) erfordern die Verknüpfung von Dataverse-Tabellen mit Finanzdaten – Sicherheit auf Zeilenebene spiegelt Dynamics 365-Geschäftseinheiten und Sicherheitsrollen wider – Paginierte Power BI-Berichte lassen sich in D365 Finance für behördliche/gesetzliche Berichterstattung integrieren
Dynamics 365-Produkte und ihre Datenquellen
Für das Integrationsdesign ist es wichtig zu verstehen, welches Dynamics 365-Produkt welche Datenplattform verwendet:
| D365-Produkt | Datenplattform | Primärer Anschluss |
|---|---|---|
| Verkäufe | Datenversum | Dataverse-Anschluss |
| Kundenservice | Datenversum | Dataverse-Anschluss |
| Außendienst | Datenversum | Dataverse-Anschluss |
| Marketing | Datenversum | Dataverse-Anschluss |
| Finanzen und Betrieb | Azure SQL/ADLS | Finance & Operations-Connector / ADLS |
| Business Central | Azure SQL | Business Central-Anschluss |
| Handel | Dataverse + Azure SQL | Mehrere |
| Personalwesen | Datenversum | Dataverse-Anschluss |
| Projektbetrieb | Datenversum | Dataverse-Anschluss |
Hauptunterschied: Auf Dataverse basierende Dynamics 365-Apps (Vertrieb, Service, Außendienst, Marketing) verwenden den Dataverse-Connector. Dynamics 365 Finance & Operations nutzt separate, in der Cloud gehostete Azure SQL-Datenbanken mit einem dedizierten Power BI-Connector und Azure Data Lake-Export.
Connector 1: Dataverse (Primärer Connector)
Der Dataverse-Connector ist der empfohlene Integrationspfad für alle Dataverse-basierten D365-Apps. Es bietet:
- Standardtabellen: Alle D365-Standardentitäten (Konten, Kontakte, Opportunities, Fälle usw.)
- Benutzerdefinierte Tabellen: Alle von Ihrer Organisation erstellten benutzerdefinierten Tabellen
- Auswahlspalten: Suchwerte mit Beschriftungen (nicht nur interne Codes)
- Beziehungen: Navigierbar über Power Query-Beziehungserweiterung
- Echtzeitdaten: Keine Datenverschiebung – Abfragen gehen direkt an Dataverse
Einrichtung
- In Power BI Desktop: Daten abrufen → Dataverse
- Umgebungs-URL:
https://{your-environment}.crm.dynamics.com - Melden Sie sich mit Ihren Dynamics 365-Anmeldeinformationen (oder Dienstprinzipal für geplante Aktualisierungen) an.
- Durchsuchen Sie Tabellen und wählen Sie die erforderlichen Entitäten aus
Schlüsseltabellen für D365 Sales Analytics
account — Customer/Prospect organizations
contact — Individual contacts
opportunity — Sales deals with stage, probability, close date
quote — Formal price quotes linked to opportunities
salesorder — Confirmed sales orders
invoice — Invoices from orders
lead — Incoming leads pre-qualification
activitypointer — All activities (emails, calls, meetings)
systemuser — Sales reps and users
team — Sales teams and territories
Umgang mit Dataverse-Optionssätzen
Dataverse-Optionssätze (Auswahlspalten) speichern intern Ganzzahlcodes. Der Dataverse-Connector gibt sowohl den Code als auch die Bezeichnung zurück, aber Sie müssen dies in Power Query verarbeiten:
// Expand opportunity status code to label
Source = Dataverse.EntitySet("https://org.crm.dynamics.com", "opportunity"),
AddLabel = Table.AddColumn(Source, "Stage Label",
each if [statuscode] = 1 then "In Progress"
else if [statuscode] = 2 then "Won"
else if [statuscode] = 3 then "Cancelled"
else "Unknown")
Bessere Vorgehensweise: Verwenden Sie das Feld [email protected], das Dataverse automatisch mit formatierten Beschriftungen zurückgibt.
Connector 2: Dynamics 365 Finance & Operations
D365 Finance and Operations verwendet einen separaten Connector, der eine Verbindung mit der virtuellen Entitätsschicht von Finance oder direkt mit Azure Data Lake herstellt (empfohlen für umfangreiche Analysen).
Option A: Finance & Operations Connector (Entity Store)
Der Dynamics 365 Finance-Connector von Power BI fragt den Finance Entity Store ab – eine separate leseoptimierte Datenbank, die durch die Batch-Prozesse von Finance aktualisiert wird.
- Daten abrufen → Dynamics 365 (online) → Finanzen
- Umgebungs-URL:
https://{env}.operations.dynamics.com - Stellen Sie eine Verbindung zu Entity Store-Cubes und Datenentitäten her
Verfügbare Entitäten (Beispiele):
RetailSalesLine– VerkaufstransaktionsdetailsVendTransaction– Zahlungstransaktionen des LieferantenCustTransaction– KundentransaktionenLedgerTransactionEntity– HauptbucheinträgeBudgetTransactionEntity– Budgeteinträge
Option B: Azure Data Lake-Export (empfohlen)
Für umfangreiche Finanzanalysen (mehr als 10 Millionen Transaktionen) konfigurieren Sie die Funktion „In Azure Data Lake exportieren“ von Finance:
- Im Finance & Operations-Administrator: Arbeitsbereich → Datenverwaltung → Azure Data Lake konfigurieren
- Stellen Sie eine Verbindung zu Ihrem Azure Data Lake Storage Gen2-Konto her
- Wählen Sie die zu exportierenden Tabellen aus (inkrementell oder vollständig).
- Power BI liest direkt von ADLS über den Azure Data Lake Storage-Connector
Diese Architektur verarbeitet Finanzdaten in jedem Maßstab, ohne die Leistung der Finanzanwendung zu beeinträchtigen.
Option C: Microsoft Fabric (empfohlen für neue Bereitstellungen)
Mit Microsoft Fabric werden D365 Finance-Daten in ADLS zu einer Fabric-Verknüpfung – auf die Power BI über den Direct Lake-Modus ohne zusätzliche Datenverschiebung zugreifen kann:
D365 Finance → ADLS Gen2 (via Export) → Fabric OneLake (Shortcut) → Power BI Direct Lake
Keine ETL-Pipeline erforderlich. Fabric liest ADLS-Daten, als wären es native OneLake-Inhalte.
Eingebettete Power BI-Berichte in Dynamics 365
Dies ist eine der wertvollsten Dynamics 365-Integrationsfunktionen von Power BI – Berichte, die direkt in D365-Formularen und -Dashboards eingebettet sind.
Eingebettete Berichte einrichten
- Veröffentlichen Sie den Power BI-Bericht in einem Premium- oder PPU-Arbeitsbereich (kostenlose Benutzer benötigen Premium-Kapazität zum Anzeigen)
- In den Dynamics 365-Einstellungen: Administration → Systemeinstellungen → Registerkarte „Berichterstellung“.
- Aktivieren: „Visualisierungen in Power BI“
- Auf jedem D365-Dashboard: Komponente hinzufügen → Power BI-Kachel → Wählen Sie Ihren Bericht/Ihren Dashboard aus
- Auf D365-Formularen: Öffnen Sie den Formulareditor → Einfügen → Unterraster oder Webressource → PowerBI
Kontextfilterung (Berichtsfilter aus D365-Datensatz)
Das leistungsstärkste eingebettete Szenario: ein Power BI-Bericht, der automatisch nach dem aktuellen D365-Datensatz filtert.
Wenn Sie beispielsweise einen D365-Kontodatensatz öffnen, wird ein eingebetteter Power BI-Bericht angezeigt, der nur den Umsatzverlauf, die offenen Fälle und die Pipeline dieses Kontos anzeigt – eine Filterung durch den Benutzer ist nicht erforderlich.
Konfigurieren Sie über eine JavaScript-Webressource, die die GUID des aktuellen Datensatzes an den Power BI-Berichtsfilter übergibt:
// D365 form JavaScript — pass account ID to Power BI filter
function passRecordToReport(executionContext) {
const formContext = executionContext.getFormContext();
const accountId = formContext.data.entity.getId();
// The Power BI report uses this parameter for row filtering
const filterValue = accountId.replace(/[{}]/g, '');
// Update the Power BI visual's filter via PostMessage
const powerBiFrame = document.getElementById('powerBiReport');
powerBiFrame.contentWindow.postMessage(
JSON.stringify({ action: 'filter', accountId: filterValue }),
'https://app.powerbi.com'
);
}
Modulübergreifende Analyse: Vertrieb + Finanzen + Service
Die wahre Analyseleistung von D365 + Power BI kommt zum Vorschein, wenn Sie Daten modulübergreifend zusammenführen. Hier sind die wichtigsten modulübergreifenden Analysemuster:
Customer 360 Dashboard
Treten Sie Dataverse (Vertrieb, Service) mit Finanzdaten bei:
| Dimension | Quelle | Felder |
|---|---|---|
| Konto/Kunde | Dataverse (Konto) | Name, Branche, Region, Account Manager |
| Vertriebspipeline | Dataverse (Gelegenheit) | Offene Opps, erwartete Einnahmen |
| Bestellungen | Dataverse (Auftrag) | Bestätigte Bestellungen, Umsatz |
| Supportfälle | Dataverse (Vorfall) | Offene Fälle, SLA-Status, Lösungszeit |
| Zahlungen | D365 Finanzen | Ausstehende Rechnungen, Zahlungshistorie |
| Verträge | Dataverse (Vertrag) | Aktive Verträge, Verlängerungstermine |
// Customer Health Score (composite measure)
Customer Health Score =
VAR PaymentScore = SWITCH(TRUE(),
[Avg Days to Pay] <= 30, 40,
[Avg Days to Pay] <= 60, 25,
[Avg Days to Pay] <= 90, 10,
0
)
VAR SupportScore = SWITCH(TRUE(),
[Open Cases] = 0, 30,
[Open Cases] <= 2, 20,
[Open Cases] <= 5, 10,
0
)
VAR PipelineScore = IF([Open Pipeline Value] > 10000, 30, 15)
RETURN PaymentScore + SupportScore + PipelineScore
Sales-to-Cash-Analyse
Verfolgen Sie den Weg von der Gelegenheit bis zum Geldeingang:
Lead → Opportunity → Quote → Order → Invoice → Payment
DAX-Maßnahmen zur Stufenumstellung:
// Lead-to-Opportunity Conversion Rate
Lead to Opp Rate =
DIVIDE(
CALCULATE(COUNTROWS(Lead), Lead[statuscode] = 3), -- 3 = Qualified
COUNTROWS(Lead),
0
)
// Quote-to-Order Conversion Rate
Quote Win Rate =
DIVIDE(
CALCULATE(COUNTROWS(Quote), Quote[statecode] = 1), -- 1 = Won
COUNTROWS(Quote),
0
)
// Average Days from Opportunity to Invoice
Avg Sales Cycle Days =
AVERAGEX(
FILTER(Opportunity, Opportunity[statecode] = 1), -- Won
DATEDIFF(Opportunity[createdon], Opportunity[actualclosedate], DAY)
)
Sicherheit: D365-Sicherheitsrollen spiegeln
Dynamics 365 verwendet ein ausgefeiltes Sicherheitsmodell: Geschäftseinheiten, Sicherheitsrollen, Teams und Sicherheit auf Feldebene. RLS von Power BI kann dieses Modell widerspiegeln.
Geschäftseinheitsbasiertes RLS
// RLS filter — restrict data to user's business unit hierarchy
[OwningBusinessUnit] IN
PATHCONTAINS(BusinessUnit[BusinessUnitPath],
LOOKUPVALUE(
SystemUser[BusinessUnitId],
SystemUser[Email],
USERPRINCIPALNAME()
)
)
Datenisolierung auf Verkäuferebene
// Opportunities visible to current user (their own + manager's team)
CALCULATE(
[Total Pipeline Value],
FILTER(
Opportunity,
Opportunity[OwnerEmail] = USERPRINCIPALNAME() ||
Opportunity[OwnerManagerEmail] = USERPRINCIPALNAME()
)
)
Synchronisieren Sie bei komplexen D365-Sicherheitshierarchien täglich die D365-Sicherheitsrollenzuweisungen mit einer Power BI-Dimensionstabelle und wenden Sie dann RLS basierend auf dieser Zuordnung an.
D365 Finanz-Dashboards
CFO-Finanz-Dashboard-KPIs
// Accounts Receivable Turnover
AR Turnover =
DIVIDE([Total Revenue], AVERAGE(Balance_Sheet[AR_Balance]))
// Days Payable Outstanding
DPO =
DIVIDE(
CALCULATE(SUM(VendTransaction[AmountCur]), VendTransaction[TransType] = "Purch"),
DIVIDE([Total COGS], 365),
0
)
// Working Capital
Working Capital =
[Total Current Assets] - [Total Current Liabilities]
// Operating Cash Flow (indirect method)
Operating Cash Flow =
[Net Income] +
[Depreciation & Amortization] +
[Change in Working Capital]
Häufig gestellte Fragen
Funktioniert Power BI mit Dynamics 365 Business Central?
Ja – Microsoft bietet einen dedizierten Business Central-Connector für Power BI. Business Central enthält standardmäßig eingebettete Power BI-Berichte in seinen Rollencenter-Seiten. Der Connector verwendet OData-APIs und stellt die API-Seiten von Business Central bereit (Finanzeinträge, Artikel, Kunden, Lieferanten). Für die Aktualisierung von Business Central-Daten ist eine Power BI Pro- oder Premium-Lizenz erforderlich. Bei Premium werden bis zu 48 Aktualisierungen pro Tag unterstützt.
Kann ich DirectQuery mit Dataverse verwenden?
Ja – der Dataverse-Connector unterstützt den DirectQuery-Modus. Dataverse-Abfragen werden in Echtzeit für den Dataverse-Dienst ausgeführt. Bei den meisten D365-Vertriebs- und Serviceanalysen (Millionen Datensätze) schneidet DirectQuery auf Dataverse gut ab. Erwägen Sie bei sehr großen Dataverse-Umgebungen (über 100 Millionen Zeilen) den Import von Daten in ein Fabric Lakehouse, um eine bessere Leistung zu erzielen.
Wie gehe ich mit der Dynamics 365-Sicherheit in Power BI für externe Benutzer um?
Externe Benutzer (Kunden, Partner), die auf eingebettete Power BI-Berichte zugreifen, benötigen eine besondere Behandlung. Zu den Optionen gehören: Azure AD B2B-Gastkonten mit Power BI Pro-Lizenzen oder Power BI Embedded (A SKU) mit Dienstprinzipalauthentifizierung und Sicherheit auf Zeilenebene, die von Ihrer Anwendung erzwungen wird. Legen Sie niemals ungefilterte D365-Daten in eingebetteten Szenarien offen – wenden Sie immer strenges RLS an, um die Daten jedes externen Benutzers zu isolieren.
Was ist die Dynamics 365 Sales Insights-Integration mit Power BI?
Dynamics 365 Sales Insights (Viva Sales) generiert prädiktive Analysen (Chancenbewertung, Beziehungszustand, Pipeline-Prognose) nativ in D365. Diese Daten werden in Dataverse gespeichert und können zur benutzerdefinierten Visualisierung mit Power BI verbunden werden. Power BI kann Sales Insights-Daten mit externen Benchmarks, historischen Trendanalysen und modulübergreifenden Korrelationen verbessern, die in den nativen Analysen von D365 nicht verfügbar sind.
Kann Power BI die integrierten Dashboards von Dynamics 365 ersetzen?
Power BI erweitert die Möglichkeiten der integrierten Dashboards von D365 erheblich – benutzerdefinierte Visualisierungen, komplexe DAX-Kennzahlen, modulübergreifende Analysen und paginierte Berichte sind im nativen Diagrammeditor von D365 nicht verfügbar. D365-Dashboards bleiben jedoch für alltägliche Betriebsansichten innerhalb der Anwendung nützlich. Der empfohlene Ansatz ist: Native D365-Dashboards für schnelle Betriebsansichten, Power BI für Analyse- und Executive-Reporting.
Nächste Schritte
Die Power BI + Dynamics 365-Integration ist die nativste und funktionsreichste BI-Integration auf dem Markt für Unternehmenssoftware. Unternehmen, die in diese Integration investieren, erhalten eine einheitliche Transparenz über CRM-, ERP- und Serviceabläufe hinweg, die ohne kundenspezifische Entwicklung bisher nicht möglich war.
Das Power BI-Team von ECOSIRE ist auf Dynamics 365-Analysen spezialisiert – von einfachen eingebetteten Dashboards bis hin zu komplexen modulübergreifenden Customer 360- und Sales-to-Cash-Analysen. Wir bringen sowohl Power BI- als auch Dynamics 365-Expertise ein, um sicherzustellen, dass die Integration sicher, leistungsstark und auf Ihr D365-Sicherheitsmodell abgestimmt ist.
Entdecken Sie unsere Power BI ERP-Integrationsdienste für Details zur Dynamics 365-Implementierung oder kontaktieren Sie unser Analyseteam, um eine Power BI-Architektur zu entwerfen, die Ihre Dynamics 365-Investition maximiert.
Geschrieben von
ECOSIRE Research and Development Team
Entwicklung von Enterprise-Digitalprodukten bei ECOSIRE. Einblicke in Odoo-Integrationen, E-Commerce-Automatisierung und KI-gestützte Geschäftslösungen.
Verwandte Artikel
Building Financial Dashboards with Power BI
Step-by-step guide to building financial dashboards in Power BI covering data connections to accounting systems, DAX measures for KPIs, P&L visualisations, and best practices.
Case Study: Power BI Analytics for Multi-Location Retail
How a 14-location retail chain unified their reporting in Power BI connected to Odoo, replacing 40 spreadsheets with one dashboard and cutting reporting time by 78%.
GoHighLevel + Power BI: Advanced Reporting and Analytics
Connect GoHighLevel to Power BI for advanced marketing analytics. Build executive dashboards, track multi-channel ROI, and create automated reports that go beyond GHL's native reporting.