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 mars 202611 min de lecture2.5k Mots|

Power BI + Dynamics 365 : plongée approfondie dans l'intégration native

Aucune intégration BI dans l'écosystème Microsoft n'est plus étroite que Power BI et Dynamics 365. Les deux produits partagent la même infrastructure cloud, le même modèle d'authentification et la même plateforme de données (Dataverse). Microsoft a investi massivement pour rendre cette intégration transparente, au point que les rapports Power BI intégrés apparaissent nativement dans les formulaires, tableaux de bord et vues Dynamics 365 sans aucune connexion distincte requise.

Pourtant, de nombreuses organisations Dynamics 365 ne font qu’effleurer la surface de cette intégration. Ce guide couvre tous les modèles d'intégration, de la connexion de base à Dataverse aux rapports intégrés, en passant par l'analyse Dynamics 365 Sales, la conception du tableau de bord Finance et l'analyse inter-modules dans CRM, ERP et Field Service.

Points clés à retenir

  • Le connecteur Dataverse est la méthode de connexion native préférée pour toutes les données Dynamics 365
  • Les rapports Power BI intégrés apparaissent dans les formulaires et tableaux de bord D365 sans quitter l'interface utilisateur
  • Microsoft Fabric et Dataverse partagent la même infrastructure Azure : les raccourcis Fabric éliminent le mouvement des données
  • Dynamics 365 Sales dispose d'une application d'analyse native (application modèle Power BI) déployable en quelques minutes
  • Finance and Operations utilise l'intégration d'Azure Data Lake pour l'analyse à grande échelle
  • Les analyses inter-modules (Ventes + Finance, Service + Inventaire) nécessitent de joindre les tables Dataverse avec les données Finance
  • La sécurité au niveau des lignes reflète les unités commerciales et les rôles de sécurité de Dynamics 365
  • Les rapports paginés Power BI s'intègrent à D365 Finance pour les rapports réglementaires/statutaires

Produits Dynamics 365 et leurs sources de données

Comprendre quel produit Dynamics 365 utilise quelle plateforme de données est essentiel pour la conception de l'intégration :

Produit D365Plateforme de donnéesConnecteur principal
VentesVers de donnéesConnecteur Dataverse
Service clientVers de donnéesConnecteur Dataverse
Service sur le terrainVers de donnéesConnecteur Dataverse
CommercialisationVers de donnéesConnecteur Dataverse
Finances et opérationsAzure SQL/ADLSConnecteur Finances & Opérations / ADLS
Centre d'affairesAzure SQLConnecteur Business Central
CommerceDataverse + Azure SQLPlusieurs
Ressources humainesVers de donnéesConnecteur Dataverse
Opérations du projetVers de donnéesConnecteur Dataverse

Distinction clé : les applications Dynamics 365 construites sur Dataverse (Ventes, Service, Field Service, Marketing) utilisent le connecteur Dataverse. Dynamics 365 Finance & Operations utilise des bases de données Azure SQL distinctes hébergées dans le cloud avec un connecteur Power BI dédié et l'exportation Azure Data Lake.


Connecteur 1 : Dataverse (connecteur principal)

Le connecteur Dataverse est le chemin d’intégration recommandé pour toutes les applications D365 basées sur Dataverse. Il fournit :

  • Tableaux standards : Toutes les entités standards D365 (Comptes, Contacts, Opportunités, Cas, etc.)
  • Tableaux personnalisés : toutes les tables personnalisées créées par votre organisation
  • Colonnes de choix : valeurs de recherche avec des étiquettes (pas seulement des codes internes)
  • Relations : navigable via l'expansion des relations Power Query
  • Données en temps réel : aucun mouvement de données – les requêtes sont directement envoyées à Dataverse

Configuration

  1. Dans Power BI Desktop : Obtenir des données → Dataverse
  2. URL de l'environnement : https://{your-environment}.crm.dynamics.com
  3. Connectez-vous avec vos informations d'identification Dynamics 365 (ou votre principal de service pour une actualisation planifiée)
  4. Parcourez les tables et sélectionnez les entités requises

Tableaux clés pour 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

Gestion des ensembles d'options Dataverse

Les ensembles d'options Dataverse (colonnes de choix) stockent les codes entiers en interne. Le connecteur Dataverse renvoie à la fois le code et l’étiquette, mais vous devez gérer cela dans Power Query :

// 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")

Meilleure pratique : utilisez le champ [email protected] que Dataverse renvoie automatiquement avec des étiquettes formatées.


Connecteur 2 : Dynamics 365 Finance & Operations

D365 Finance and Operations utilise un connecteur distinct qui se connecte à la couche d'entité virtuelle Finance ou directement à Azure Data Lake (recommandé pour les analyses à grande échelle).

Option A : Connecteur Finance & Opérations (Entity Store)

Le connecteur Dynamics 365 Finance de Power BI interroge le Finance Entity Store, une base de données distincte optimisée en lecture mise à jour par les processus par lots de Finance.

  1. Obtenir des données → Dynamics 365 (en ligne) → Finance
  2. URL de l'environnement : https://{env}.operations.dynamics.com
  3. Connectez-vous aux cubes Entity Store et aux entités de données

Entités disponibles (exemples) :

  • RetailSalesLine — Détails de la transaction de vente
  • VendTransaction — Opérations de paiement des fournisseurs
  • CustTransaction — Transactions clients
  • LedgerTransactionEntity — Écritures du grand livre général
  • BudgetTransactionEntity — Écritures budgétaires

Option B : Exportation Azure Data Lake (recommandé)

Pour les analyses financières à grande échelle (plus de 10 millions de transactions), configurez la fonctionnalité « Exporter vers Azure Data Lake » de Finance :

  1. Dans l'administrateur Finance & Operations : Espace de travail → Gestion des données → Configurer Azure Data Lake
  2. Connectez-vous à votre compte Azure Data Lake Storage Gen2
  3. Sélectionnez les tables à exporter (incrémentielles ou complètes)
  4. Power BI lit directement depuis ADLS via le connecteur Azure Data Lake Storage

Cette architecture gère les données Finance à n'importe quelle échelle sans affecter les performances de l'application Finance.

Option C : Microsoft Fabric (recommandé pour les nouveaux déploiements)

Avec Microsoft Fabric, les données D365 Finance dans ADLS deviennent un raccourci Fabric — accessible à Power BI via le mode Direct Lake sans mouvement de données supplémentaire :

D365 Finance → ADLS Gen2 (via Export) → Fabric OneLake (Shortcut) → Power BI Direct Lake

Aucun pipeline ETL requis. Fabric lit les données ADLS comme s’il s’agissait de contenu OneLake natif.


Rapports Power BI intégrés dans Dynamics 365

Il s'agit de l'une des fonctionnalités d'intégration Dynamics 365 les plus précieuses de Power BI : des rapports intégrés directement dans les formulaires et les tableaux de bord D365.

Configuration des rapports intégrés

  1. Publiez le rapport Power BI sur un espace de travail Premium ou PPU (les utilisateurs gratuits ont besoin d'une capacité Premium pour l'affichage)
  2. Dans Paramètres Dynamics 365 : Administration → Paramètres système → onglet Rapports
  3. Activez : "Visualisations dans Power BI"
  4. Sur n'importe quel tableau de bord D365 : Ajoutez un composant → Vignette Power BI → Sélectionnez votre rapport/tableau de bord
  5. Sur les formulaires D365 : Ouvrez l'éditeur de formulaire → Insérer → Sous-grille ou ressource Web → PowerBI

Filtrage contextuel (filtres de rapport à partir de l'enregistrement D365)

Le scénario intégré le plus puissant : un rapport Power BI qui filtre automatiquement l'enregistrement D365 actuel.

For example, opening a D365 Account record shows an embedded Power BI report showing only that account's revenue history, open cases, and pipeline — no filtering needed by the user.

Configurez via la ressource Web JavaScript qui transmet le GUID de l'enregistrement actuel au filtre de rapport Power BI :

// 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'
    );
}

Analyse multi-modules : ventes + finances + service

La véritable puissance analytique de D365 + Power BI émerge lorsque vous joignez des données entre modules. Voici les principaux modèles d’analyse inter-modules :

Tableau de bord client 360

Rejoignez Dataverse (Ventes, Service) avec les données Finance :

DimensionsSourceChamps
Compte/ClientDataverse (compte)Nom, secteur d'activité, région, responsable de compte
Pipeline de ventesDataverse (opportunité)Opportunités ouvertes, revenus attendus
CommandesDataverse (commande client)Commandes confirmées, Chiffre d'affaires
Cas d'assistanceDataverse (incident)Dossiers ouverts, statut SLA, délai de résolution
PaiementsD365 FinancesFactures impayées, Historique des paiements
ContratsDataverse (contrat)Contrats actifs, dates de renouvellement
// 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

Analyses des ventes en espèces

Suivez le parcours depuis l’opportunité jusqu’au reçu de trésorerie :

Lead → Opportunity → Quote → Order → Invoice → Payment

Mesures DAX pour la conversion d'étape :

// 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)
)

Sécurité : mise en miroir des rôles de sécurité D365

Dynamics 365 utilise un modèle de sécurité sophistiqué : unités commerciales, rôles de sécurité, équipes et sécurité au niveau du champ. Le RLS de Power BI peut refléter ce modèle.

RLS basé sur les unités commerciales

// RLS filter — restrict data to user's business unit hierarchy
[OwningBusinessUnit] IN
    PATHCONTAINS(BusinessUnit[BusinessUnitPath],
        LOOKUPVALUE(
            SystemUser[BusinessUnitId],
            SystemUser[Email],
            USERPRINCIPALNAME()
        )
    )

Isolation des données au niveau du vendeur

// Opportunities visible to current user (their own + manager's team)
CALCULATE(
    [Total Pipeline Value],
    FILTER(
        Opportunity,
        Opportunity[OwnerEmail] = USERPRINCIPALNAME() ||
        Opportunity[OwnerManagerEmail] = USERPRINCIPALNAME()
    )
)

For complex D365 security hierarchies, synchronize the D365 security role assignments to a Power BI dimension table daily, then apply RLS based on that mapping.


Tableaux de bord financiers D365

KPI du tableau de bord financier du CFO

// 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]

Questions fréquemment posées

Power BI fonctionne-t-il avec Dynamics 365 Business Central ?

Oui : Microsoft fournit un connecteur Business Central dédié pour Power BI. Business Central inclut par défaut des rapports Power BI intégrés dans ses pages Role Center. Le connecteur utilise les API OData et expose les pages API de Business Central (entrées financières, articles, clients, fournisseurs). L’actualisation des données Business Central nécessite une licence Power BI Pro ou Premium et prend en charge jusqu’à 48 actualisations par jour sur Premium.

Puis-je utiliser DirectQuery avec Dataverse ?

Oui : le connecteur Dataverse prend en charge le mode DirectQuery. Les requêtes Dataverse s'exécutent sur le service Dataverse en temps réel. Pour la plupart des analyses de ventes et de services D365 (millions d'enregistrements), DirectQuery sur Dataverse fonctionne bien. Pour les très grands environnements Dataverse (plus de 100 millions de lignes), envisagez d'importer des données dans un Lakehouse Fabric pour de meilleures performances.

Comment gérer la sécurité Dynamics 365 dans Power BI pour les utilisateurs externes ?

Les utilisateurs externes (clients, partenaires) accédant aux rapports Power BI intégrés nécessitent un traitement spécial. Les options incluent : les comptes invités Azure AD B2B avec des licences Power BI Pro ou Power BI Embedded (A SKU) avec authentification du principal de service et sécurité au niveau des lignes appliquées par votre application. N'exposez jamais de données D365 non filtrées dans des scénarios intégrés : appliquez toujours un RLS strict pour isoler les données de chaque utilisateur externe.

Qu'est-ce que l'intégration de Dynamics 365 Sales Insights avec Power BI ?

Dynamics 365 Sales Insights (Viva Sales) génère des analyses prédictives (score d'opportunités, santé des relations, prévision du pipeline) de manière native dans D365. Ces données sont stockées dans Dataverse et peuvent être connectées à Power BI pour une visualisation personnalisée. Power BI peut améliorer les données Sales Insights avec des références externes, une analyse des tendances historiques et des corrélations entre modules non disponibles dans les analyses natives de D365.

Power BI peut-il remplacer les tableaux de bord intégrés de Dynamics 365 ?

Power BI étend considérablement ce que les tableaux de bord intégrés de D365 peuvent faire : les visualisations personnalisées, les mesures DAX complexes, les analyses inter-modules et les rapports paginés ne sont tous pas disponibles dans l'éditeur de graphiques natif de D365. Cependant, les tableaux de bord D365 restent utiles pour les vues opérationnelles quotidiennes au sein de l'application. L'approche recommandée est la suivante : tableaux de bord natifs D365 pour des vues opérationnelles rapides, Power BI pour les rapports analytiques et exécutifs.


Prochaines étapes

L'intégration Power BI + Dynamics 365 est l'intégration BI la plus native et la plus riche en fonctionnalités du marché des logiciels d'entreprise. Les organisations qui investissent dans cette intégration bénéficient d'une visibilité unifiée sur les opérations CRM, ERP et Service, ce qui était auparavant impossible sans développement personnalisé.

L'équipe Power BI d'ECOSIRE est spécialisée dans l'analyse Dynamics 365, des simples tableaux de bord intégrés aux analyses complexes inter-modules Customer 360 et Sales-to-Cash. Nous apportons notre expertise Power BI et Dynamics 365 pour garantir que l'intégration est sécurisée, performante et alignée sur votre modèle de sécurité D365.

Découvrez nos services d'intégration Power BI ERP pour les détails de mise en œuvre de Dynamics 365, ou contactez notre équipe d'analyse pour concevoir une architecture Power BI qui maximise votre investissement Dynamics 365.

E

Rédigé par

ECOSIRE Research and Development Team

Création de produits numériques de niveau entreprise chez ECOSIRE. Partage d'analyses sur les intégrations Odoo, l'automatisation e-commerce et les solutions d'entreprise propulsées par l'IA.

Discutez sur WhatsApp