Power BI + Dynamics 365: Native Integration Deep Dive

Deep dive into Power BI and Dynamics 365 native integration covering Dataverse connector, embedded reports, cross-module analytics, and CRM and ERP dashboard patterns.

E
ECOSIRE Research and Development Team
|19. März 20269 Min. Lesezeit2.1k Wörter|

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-ProduktDatenplattformPrimärer Anschluss
VerkäufeDatenversumDataverse-Anschluss
KundenserviceDatenversumDataverse-Anschluss
AußendienstDatenversumDataverse-Anschluss
MarketingDatenversumDataverse-Anschluss
Finanzen und BetriebAzure SQL/ADLSFinance & Operations-Connector / ADLS
Business CentralAzure SQLBusiness Central-Anschluss
HandelDataverse + Azure SQLMehrere
PersonalwesenDatenversumDataverse-Anschluss
ProjektbetriebDatenversumDataverse-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

  1. In Power BI Desktop: Daten abrufen → Dataverse
  2. Umgebungs-URL: https://{your-environment}.crm.dynamics.com
  3. Melden Sie sich mit Ihren Dynamics 365-Anmeldeinformationen (oder Dienstprinzipal für geplante Aktualisierungen) an.
  4. 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.

  1. Daten abrufen → Dynamics 365 (online) → Finanzen
  2. Umgebungs-URL: https://{env}.operations.dynamics.com
  3. Stellen Sie eine Verbindung zu Entity Store-Cubes und Datenentitäten her

Verfügbare Entitäten (Beispiele):

  • RetailSalesLine – Verkaufstransaktionsdetails
  • VendTransaction – Zahlungstransaktionen des Lieferanten
  • CustTransaction – Kundentransaktionen
  • LedgerTransactionEntity – Hauptbucheinträge
  • BudgetTransactionEntity – 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:

  1. Im Finance & Operations-Administrator: Arbeitsbereich → Datenverwaltung → Azure Data Lake konfigurieren
  2. Stellen Sie eine Verbindung zu Ihrem Azure Data Lake Storage Gen2-Konto her
  3. Wählen Sie die zu exportierenden Tabellen aus (inkrementell oder vollständig).
  4. 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

  1. Veröffentlichen Sie den Power BI-Bericht in einem Premium- oder PPU-Arbeitsbereich (kostenlose Benutzer benötigen Premium-Kapazität zum Anzeigen)
  2. In den Dynamics 365-Einstellungen: Administration → Systemeinstellungen → Registerkarte „Berichterstellung“.
  3. Aktivieren: „Visualisierungen in Power BI“
  4. Auf jedem D365-Dashboard: Komponente hinzufügen → Power BI-Kachel → Wählen Sie Ihren Bericht/Ihren Dashboard aus
  5. 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:

DimensionQuelleFelder
Konto/KundeDataverse (Konto)Name, Branche, Region, Account Manager
VertriebspipelineDataverse (Gelegenheit)Offene Opps, erwartete Einnahmen
BestellungenDataverse (Auftrag)Bestätigte Bestellungen, Umsatz
SupportfälleDataverse (Vorfall)Offene Fälle, SLA-Status, Lösungszeit
ZahlungenD365 FinanzenAusstehende Rechnungen, Zahlungshistorie
VerträgeDataverse (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.

E

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.

Chatten Sie auf WhatsApp