Flux de données Power BI : préparation centralisée des données
Chaque environnement Power BI finit par développer le même problème : des dizaines de rapports, chacun avec des versions légèrement différentes de la « même » logique de préparation des données. Les données clients ont été nettoyées et standardisées d'une manière dans le tableau de bord des ventes, légèrement différemment dans le rapport marketing, et encore différemment dans le résumé. Lorsque le système source change (une colonne est renommée, une nouvelle région est ajoutée), la mise à jour de chaque rapport individuellement est un cauchemar de maintenance.
Les flux de données Power BI résolvent ce problème en déplaçant la préparation des données des fichiers de rapport individuels (Power BI Desktop .pbix) vers une couche partagée et centralisée dans le service Power BI. La logique écrite une seule fois dans un flux de données est disponible pour n'importe quel rapport, par n'importe quel développeur, avec un résultat cohérent. Ce guide couvre l’architecture des flux de données, les modèles d’implémentation et les fonctionnalités avancées qui font des flux de données la base d’un environnement Power BI gouverné.
Points clés à retenir
- Les flux de données centralisent la logique ETL Power Query dans le service Power BI, éliminant ainsi la duplication entre les rapports
- Les flux de données produisent des entités standardisées (tableaux) que plusieurs rapports consomment à partir d'une seule source
- Les entités liées permettent aux flux de données de référencer des tables à partir d'autres flux de données, permettant une architecture en couches
- Les entités calculées effectuent des transformations sur les entités liées au sein du moteur de flux de données Premium
- Dataflow Gen2 dans Microsoft Fabric étend les flux de données avec des destinations de transfert et de sortie
- AI Insights (Premium) applique des modèles ML à la sortie du flux de données : détection d'anomalies, analyse des sentiments, extraction de phrases clés
- L'actualisation incrémentielle des flux de données maintient les sorties de transformation importantes à jour sans retraitement complet
- Contrôles de gouvernance des flux de données qui peuvent créer, modifier et consommer des flux de données via les autorisations de l'espace de travail
Pourquoi les flux de données existent
Pour comprendre les flux de données, il est utile de visualiser le problème qu'ils résolvent.
Sans flux de données (le modèle courant) :
- Le développeur A crée le rapport 1, se connecte à Salesforce, écrit 40 étapes Power Query pour nettoyer et transformer les données
- Le développeur B crée le rapport 2, se connecte également à Salesforce, écrit 38 étapes Power Query similaires (légèrement différentes)
- Le développeur C construit le rapport 3, même source, 45 étapes
- Les informations d'identification de l'API Salesforce sont stockées dans trois fichiers différents
- La logique de catégorisation « segment client » est implémentée de trois manières légèrement différentes
- Lorsque l'API change, trois fichiers doivent être mis à jour
- Les trois rapports exécutent leurs propres actualisations planifiées par rapport à l'API Salesforce
Avec les flux de données :
- L'ingénieur de données crée un Dataflow avec les 40 étapes Power Query
- Les rapports 1, 2 et 3 se connectent tous à l'entité de flux de données en tant que source de données
- Un identifiant API, une logique de transformation, une actualisation programmée
- Lorsque l'API change, un flux de données est mis à jour
Il s’agit de la proposition de valeur fondamentale : les flux de données constituent la couche ETL entre les systèmes sources et les rapports consommateurs.
Modèles d'architecture de flux de données
Les architectures de flux de données bien conçues suivent un modèle en couches analogue à une architecture en médaillon d'entrepôt de données :
Couche de bronze (flux de données intermédiaire) : extrait les données des systèmes sources avec une transformation minimale : renommez les colonnes, corrigez les types, filtrez les enregistrements manifestement invalides. Cette couche capture les données brutes dans un format standardisé.
Couche Silver (flux de données principal) : applique la logique métier : calcule les champs dérivés, applique les recherches de données de référence, déduplique les enregistrements, applique les règles métier spécifiques à l'organisation. Cette couche produit la représentation canonique de chaque entité commerciale.
Couche Gold (flux de données de reporting ou modèle sémantique) : agrège et structure les données pour des cas d'utilisation analytiques spécifiques : agrégations précalculées, mesures spécifiques au rapport, calculs de périodes.
Dans Power BI, les entités liées connectent ces couches : le flux de données Silver référence les entités du flux de données Bronze à l'aide d'entités liées. La couche Gold fait référence aux entités Silver. Les rapports se connectent aux entités de couche Gold.
Cette architecture signifie : si un système source change, seul le flux de données Bronze doit être mis à jour. La logique métier chez Silver et la structure de reporting chez Gold restent stables.
Création de votre premier flux de données
Les flux de données sont créés dans le service Power BI (et non dans Power BI Desktop). Accédez à un espace de travail → Nouveau → Dataflow.
L'environnement d'édition Dataflow est Power Query Online : essentiellement la même interface Power Query que Power BI Desktop, mais s'exécutant dans le navigateur et dans l'infrastructure cloud de Microsoft.
Étape 1 : Définir une source de données
Cliquez sur "Ajouter de nouvelles entités" → Choisissez un connecteur. Tous les connecteurs Power BI Desktop sont disponibles dans les dataflows, ainsi que certains connecteurs cloud natifs (intégration Azure Data Factory, etc.).
Pour une source SQL Server :
Server: your-server.database.windows.net
Database: YourDatabase
Authentication: Organizational account or service principal
Étape 2 : Écrire des requêtes de transformation
L’interface Power Query présente les étapes familières : appliquées, la barre de formule et l’aperçu. Créez votre logique de transformation exactement comme dans Power BI Desktop : filtrez les lignes, renommez les colonnes, fusionnez avec des tables de référence, appliquez une logique personnalisée.
Pour une requête de standardisation des données client :
let
Source = Sql.Database("server", "db"),
Customers = Source{[Schema="dbo", Item="Customers"]}[Data],
FilteredActive = Table.SelectRows(Customers, each [Status] = "Active"),
RenamedColumns = Table.RenameColumns(FilteredActive, {
{"cust_id", "CustomerID"},
{"cust_nm", "CustomerName"},
{"seg_cd", "SegmentCode"}
}),
SegmentLookup = Table.Join(
RenamedColumns, "SegmentCode",
SegmentDefinitions, "Code",
JoinKind.LeftOuter
),
RemovedDuplicates = Table.Distinct(SegmentLookup, {"CustomerID"})
in
RemovedDuplicates
Étape 3 : Configurer le calendrier d'actualisation
Définissez le calendrier d'actualisation du flux de données (jusqu'à 48 fois par jour en version Premium, 8 fois par jour en version Pro). L’actualisation du flux de données exécute les requêtes de transformation sur la source et écrit les résultats dans le stockage Azure Data Lake Gen2 géré par Power BI.
Étape 4 : Connectez les rapports au flux de données
Dans Power BI Desktop : Obtenir des données → Power Platform → Flux de données Power BI → accédez à l'espace de travail → sélectionnez l'entité. Le rapport se connecte à la sortie stockée de l'entité de flux de données, et non au système source.
Entités liées et calculées (Premium)
Les entités liées permettent à un flux de données de référencer des entités d'un autre flux de données. C'est ainsi que l'architecture en couches décrite ci-dessus est mise en œuvre.
Création d'une entité liée : Dans le flux de données Silver → Nouvelle entité → Lier les entités d'autres flux de données → sélectionnez l'entité Bronze.
L'entité liée apparaît dans le flux de données Silver sous la forme d'une table virtuelle pointant vers la sortie du flux de données Bronze. Vous pouvez ajouter des étapes de transformation supplémentaires au-dessus de l'entité liée : ces étapes supplémentaires s'exécutent dans le moteur de flux de données, et non à la source.
Les entités calculées sont des entités liées avec des transformations Power Query supplémentaires appliquées. Ils s'exécutent dans le traitement en mémoire du moteur de flux de données Premium plutôt qu'à la source, offrant ainsi des avantages de performances significatifs pour les transformations complexes sur de grands ensembles de données.
Distinction clé :
- Sans Premium : les entités liées font référence aux données de l'autre flux de données, mais tout le traitement a lieu au moment de la requête sur la source.
- Avec Premium (entités calculées) : les transformations sur les entités liées s'exécutent dans le moteur analytique de Power BI en utilisant les données mises en cache, et non la source – considérablement plus rapide pour les transformations complexes
Ceci est particulièrement utile pour les transformations qui sont coûteuses à exécuter à la source (jointures entre grandes tables, agrégations, fonctions de fenêtre) mais qui doivent avoir lieu avant que les données n'atteignent les rapports.
Actualisation incrémentielle pour les flux de données
Comme les ensembles de données, les flux de données prennent en charge l'actualisation incrémentielle pour traiter uniquement les enregistrements nouveaux et modifiés plutôt que de recharger toutes les données à chaque cycle.
Exigences :
- Espace de travail haut de gamme
- Colonne Datetime dans la requête source
- Paramètres RangeStart et RangeEnd définis dans la requête dataflow
La configuration est identique au rafraîchissement incrémentiel du jeu de données : définir les paramètres, appliquer le filtre de date dans la requête, configurer la politique de rafraîchissement incrémentiel sur l'entité. Le moteur de flux de données crée des partitions couvrant la fenêtre historique et actualise uniquement la fenêtre récente à chaque cycle.
L'actualisation incrémentielle des flux de données est plus utile lorsque :
- Les transformations sont coûteuses en calcul et vous ne souhaitez pas les réexécuter sur des données historiques inchangées
- La requête source est lente en raison de la grande taille des tables, et limiter la fenêtre de requête réduit considérablement le temps de récupération
- Le coût du stockage est important : les partitions incrémentielles permettent aux données historiques de rester stockées sans nouvelle requête.
Pour la plupart des flux de données petits à moyens (moins de 10 millions de lignes), l’actualisation complète est plus simple et suffisante. L'actualisation incrémentielle devient importante lorsque les temps d'actualisation dépassent 30 à 60 minutes.
## IA Insights dans les flux de données (Premium)
Les flux de données Power BI Premium incluent AI Insights, des fonctions d'apprentissage automatique prédéfinies disponibles directement dans Power Query Online.
Fonctions IA disponibles :
| Fonction | Descriptif | Cas d'utilisation |
|---|---|---|
| Analyse de texte : score de sentiment | Renvoie positif/négatif/neutre + score | Commentaires des clients, avis |
| Analyse de texte : phrases clés | Extrait les principaux sujets du texte | Tickets d'assistance, commentaires |
| Analyse de texte : détection de la langue | Identifie la langue du texte | Classification des contenus multilingues |
| Analyse de texte : reconnaissance d'entités nommées | Identifie des personnes, des lieux, des organisations | Traitement des documents |
| Vision : Étiqueter l'image | Étiquete les objets dans les images | Classement du catalogue de produits |
| Vision : Décrire l'image | Génère une description de l'image | Modération du contenu |
| AutoML (modèles personnalisés) | Appliquer des modèles Azure ML formés | Toute classification/régression personnalisée |
Ces fonctions sont appelées en tant que transformations de colonnes personnalisées dans l'éditeur Power Query. Une étape de notation des sentiments sur une colonne customer_comments :
= Table.AddColumn(Source, "Sentiment", each
TextAnalytics.SentimentScore([CustomerComment]),
type number
)
La fonction IA appelle Azure Cognitive Services en coulisses ; le résultat (un score de sentiment de 0 à 1) apparaît sous la forme d'une nouvelle colonne. Cela permet d’enrichir des ensembles de données sans nécessiter un pipeline de science des données distinct.
Gouvernance et sécurité des flux de données
En tant que couche centrale de préparation des données, les flux de données nécessitent des contrôles de gouvernance pour garantir la qualité et empêcher les modifications non autorisées.
Les Autorisations de l'espace de travail contrôlent qui peut créer et modifier des flux de données. La création d'un flux de données nécessite un accès Contributeur ou Administrateur à l'espace de travail. Les consommateurs (développeurs de rapports qui se connectent au flux de données) n'ont besoin que d'un accès Viewer. Cette séparation des rôles garantit que la logique métier des couches Bronze et Argent est maintenue par des ingénieurs de données autorisés.
La Certification marque les flux de données comme approuvés par une autorité centrale. Un flux de données certifié est mis en évidence dans le sélecteur de source de données de Power BI Desktop, dirigeant les développeurs de rapports vers la source de données faisant autorité et gouvernée plutôt que de créer leur propre source de données à partir de zéro.
Étiquettes de sensibilité appliquent des étiquettes Microsoft Purview Information Protection aux flux de données contenant des données sensibles. Un flux de données contenant des informations personnelles reçoit une étiquette « Confidentiel », qui se répercute sur tout rapport consommant ce flux de données.
Lignage des données dans le portail d'administration Power BI affiche le flux depuis la source → flux de données → ensemble de données → rapport. Lorsqu'un système source change, le traçage des données permet d'identifier tous les rapports en aval susceptibles d'être affectés.
Surveillance de l'actualisation du flux de données : le portail d'administration de Power BI affiche l'historique, la durée et les échecs de l'actualisation du flux de données. La configuration d'alertes via Power Automate pour les actualisations de flux de données ayant échoué garantit que les problèmes de fraîcheur des données sont détectés immédiatement plutôt que découverts lorsqu'un utilisateur signale des données obsolètes.
Flux de données et entrepôt de données
Les flux de données ne remplacent pas un entrepôt de données dédié : ils constituent un complément. Comprendre où chacun s'intègre évite les erreurs architecturales.
| Capacité | Flux de données | Entrepôt de données |
|---|---|---|
| Transformations Power Query | Natif | Pas natif |
| Transformations SQL | Non pris en charge | Natif |
| Jointures complexes sur de grandes tables | Limité | Optimisé |
| Coût de stockage | Tarification gérée et fixe | Variables |
| Contrôle de version (dbt, GitHub) | Non pris en charge | Excellent |
| Consommateurs non-Power BI (Tableau, Python) | Limité | Oui |
| Servir plusieurs outils BI | Power BI uniquement | N'importe quel outil |
| Maturité de la gouvernance d'entreprise | Modéré | Élevé |
Les organisations ayant des pratiques d'ingénierie de données matures doivent utiliser un entrepôt de données comme couche principale de transformation et de stockage, avec des flux de données comme transformation légère facultative pour la logique spécifique à Power BI. Les organisations dépourvues de ressources en ingénierie des données trouvent souvent des flux de données suffisants pour leurs besoins sans avoir besoin d'un entrepôt séparé.
Questions fréquemment posées
Quelle est la différence entre les flux de données Power BI et les jeux de données Power BI ?
Les flux de données constituent la couche ETL/préparation des données : ils extraient, transforment et stockent les données sous forme de tables (entités) dans Azure Data Lake. Les ensembles de données (modèles sémantiques) constituent la couche analytique : ils définissent les mesures, les hiérarchies, les relations et la sécurité au-dessus des données stockées. Un modèle courant : les flux de données préparent et stockent des données propres → les ensembles de données sont importés à partir des flux de données et ajoutent une logique analytique → les rapports se connectent aux ensembles de données. Ils remplissent différents rôles dans l’architecture.
Ai-je besoin de Power BI Premium pour utiliser les flux de données ?
Les flux de données de base sont disponibles avec les espaces de travail Power BI Pro. Premium (ou Fabric) ajoute des entités calculées, des informations sur l'IA, une actualisation incrémentielle et des performances améliorées. Pour la plupart des petites et moyennes organisations, les flux de données de niveau Pro sont suffisants. Les fonctionnalités premium deviennent importantes lorsque les volumes de transformation sont importants, qu'un enrichissement de l'IA est nécessaire ou qu'une actualisation incrémentielle est requise.
Puis-je connecter des outils non Power BI aux données de flux de données ?
Oui. Les flux de données Power BI stockent leur sortie dans Azure Data Lake Gen2 au format CDM (Common Data Model). Les organisations disposant de Premium ou Fabric peuvent configurer le flux de données pour utiliser leur propre compte Azure Data Lake, rendant ainsi les fichiers Parquet accessibles à d'autres outils (Azure Synapse Analytics, Azure Databricks, Python, Tableau). Cette configuration « apportez votre propre lac » est disponible dans les espaces de travail Premium et Fabric.
Comment les flux de données gèrent-ils la gestion des informations d'identification des sources de données ?
Les informations d’identification de la source de données dans les flux de données sont stockées dans le service Power BI et gérées par les administrateurs de l’espace de travail. Il s'agit d'une amélioration par rapport aux informations d'identification au niveau du rapport : au lieu que chaque développeur de rapports stocke les informations d'identification dans son fichier .pbix, les informations d'identification sont gérées de manière centralisée pour le flux de données. L’authentification du principal de service (application Azure AD) est recommandée pour les flux de données de production automatisés plutôt que pour les informations d’identification personnelles de l’utilisateur qui expirent lorsque l’utilisateur quitte l’organisation.
Les flux de données peuvent-ils appeler des API REST ou des sources de données non standard ?
Oui. Les flux de données utilisent le même écosystème de connecteurs Power Query que Power BI Desktop, y compris les connecteurs API REST via le connecteur Web, les connecteurs personnalisés (fichiers .mez) et les connecteurs de fonction. Des fonctions M personnalisées peuvent être définies dans le flux de données pour encapsuler la logique API. La pagination d'API complexe, les flux d'authentification et la limitation de débit peuvent tous être gérés dans Power Query au sein de l'environnement de flux de données.
Prochaines étapes
Les flux de données constituent la base d’un environnement d’analyse Power BI évolutif et gouverné. Investir tôt dans une architecture de flux de données adaptée évite la dette technique liée à des centaines de rapports déconnectés avec une logique de préparation de données dupliquée et incohérente.
Les services de modélisation de données Power BI d'ECOSIRE incluent la conception d'architecture de flux de données, la mise en œuvre de modèles de préparation de données en couches Bronze-Argent-Or et la configuration de la gouvernance. Contactez-nous pour évaluer votre environnement actuel et concevoir une stratégie de flux de données qui s'adapte à votre organisation.
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.
Articles connexes
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%.
ERP Data Migration: Best Practices and Common Pitfalls
A complete guide to ERP data migration. Covers data extraction, cleaning, transformation, loading, validation, and the common pitfalls that derail migrations.