SlideShare ist ein Scribd-Unternehmen logo
1 von 20
1
aMS Strasbourg
14/10/2021
Power BI : les bonnes
pratiques
Philippe Geiger
◦ MERCI A NOS SPONSORS !
2
Phi l i ppe Ge i ge r
Qui suis-je ?
C e r t i f i c a t i o n s
Directeurs des activités
Metsys Grand-Est
Spécialiste/formateur de la
plateforme Microsoft Data
https://blog.pgeiger.net/
@pgeiger
https://www.linkedin.com/in/pgeiger/
Agenda
• Optimisation du chargement
• Optimisation du modèle
• Optimisation de la data visualisation
• Démonstrations
• Conclusion
4
5
OPTIMISATION DU
CHARGEMENT
Query Folding
• Le Query Folding permet à une requête Power Query de
générer une seule instruction de requête afin de récupérer
et transformer des données sources.
• Cela permet de déléguer la plus grande partie possible du
traitement à la source de données
• Par exemple : en utilisant une requête SQL native
6
Référencement des requêtes
• En général, il est recommandé de référencer les requêtes pour
éviter la duplication de la logique dans vos autres requêtes
• Toutefois, cette approche de conception risque de ralentir
l’actualisation des données et surcharger les sources de
données
7
Autres optimisations
• Réduire le plus tôt possible la quantité de données à traiter
• Séquencer logiquement les instructions
8
Schéma en étoile
9
10
OPTIMISATION DU
MODELE
Types de relations
Cardinalité Préconisation
Relation 1 à n A privilégier, avec
des nombres entiers
comme clés de
jointure
Relation 1 à 1 Peut-être remplacer
par une seule table
Relation n à n Attention aux
performances
Relations bidirectionnelles
Relations actives et inactives
11
Autres optimisations
• Réduire la taille du modèle de données
• Créer une table de date
• Choisir le modèle de chargement (DirectQuery, Import,
Composite, Live Connection)
• Utiliser les agrégations
• RLS peut dégrader les performances
12
DAX
Références de colonne et de mesure
• Toujours utiliser des
références de colonne
complètes
• Ne jamais utiliser de
références de mesure
complètes
Voici pourquoi :
• Entrée de formule : Les expressions sont
acceptées, car il n’y a pas de référence
ambiguë à résoudre. Par ailleurs, vous
respectez les exigences de ces fonctions DAX
qui demandent des références de colonne
complètes.
• Robustesse : Les expressions continuent de
fonctionner, même quand vous changez la
propriété de table principale d’une mesure.
• Lisibilité : Les expressions sont rapides et
faciles à comprendre : vous déterminez
rapidement s’il s’agit d’une colonne ou d’une
mesure, selon que sa référence est complète
ou non.
DAX
• Éviter les fonctions d’erreur (ISERROR, IFERROR)
• Préférer la fonction DIVIDE
• Éviter de convertir des blancs (BLANK) en valeurs
• Dans CALCULATE, préférer KEEPFILTERS à FILTER
◦ Pour des performances optimales, il est recommandé d’utiliser des expressions booléennes comme
arguments de filtre chaque fois que cela vous est possible.
• Utiliser SELECTEDVALUE à la place de VALUES
• Utiliser COUNTROWS à la place de COUNT
• Utiliser des variables pour améliorer vos formules DAX
14
15
OPTIMISATION DE LA
DATA VISUALISATION
Modèle sémantique
• « Mal nommer les choses, jugeait Camus, c'est ajouter au
malheur du monde. Ne pas nommer les choses, c'est nier
notre humanité. »
• Propos prêté à Albert Camus
16
Autres optimisations
• Les tableaux de bord utilisent un cache pour les mosaïques
• Appliquer les filtres les plus restrictifs
• Plus un élément visuel contient de données à afficher, plus
son chargement est lent.
• Limiter le nombre d’éléments visuels sur les pages de
rapport
• Évaluer les performances des éléments visuels personnalisés
17
18
DEMONSTRATIONS
En guise de conclusion
• Voir aussi la session de décembre 2019 du Club Power BI de
Strasbourg
◦ [Strasbourg] Les bonnes pratiques à respecter pour tous bons rapports Power BI
◦ Visible sur YouTube : https://youtu.be/fa1NLBek63M
19
• Voir la série d’articles
◦ https://docs.microsoft.com/fr-
fr/power-bi/guidance/overview
20
MERCI !

Weitere ähnliche Inhalte

Ähnlich wie Power BI : les bonnes pratiques - aMS Strasbourg 2021

Certification oracle base de données oracle 11 g
Certification oracle base de données   oracle 11 gCertification oracle base de données   oracle 11 g
Certification oracle base de données oracle 11 gEGILIA Learning
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data LakeGUSS
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?Benoit Fillon
 
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?Comment piloter votre activité à l’aide de SAP Analytics Cloud ?
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?Axys
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs Microsoft
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCERTyou Formation
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresEDB
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patternsPascal Laurin
 
Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Arnaud LEMAIRE
 
JSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesJSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesGUSS
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosqlInes Slimene
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Journées SQL Server 3 problèmes de performance
Journées SQL Server 3 problèmes de performanceJournées SQL Server 3 problèmes de performance
Journées SQL Server 3 problèmes de performanceDavid BAFFALEUF
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
Elasticsearch performance tuning
Elasticsearch performance tuningElasticsearch performance tuning
Elasticsearch performance tuningebiznext
 
la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014Aymeric Weinbach
 

Ähnlich wie Power BI : les bonnes pratiques - aMS Strasbourg 2021 (20)

Certification oracle base de données oracle 11 g
Certification oracle base de données   oracle 11 gCertification oracle base de données   oracle 11 g
Certification oracle base de données oracle 11 g
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?Comment piloter votre activité à l’aide de SAP Analytics Cloud ?
Comment piloter votre activité à l’aide de SAP Analytics Cloud ?
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers Postgres
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patterns
 
Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy
 
JSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesJSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idées
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Introduction nosql
Introduction nosqlIntroduction nosql
Introduction nosql
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Journées SQL Server 3 problèmes de performance
Journées SQL Server 3 problèmes de performanceJournées SQL Server 3 problèmes de performance
Journées SQL Server 3 problèmes de performance
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
Elasticsearch performance tuning
Elasticsearch performance tuningElasticsearch performance tuning
Elasticsearch performance tuning
 
la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014
 
Patterns azure cloud
Patterns azure cloudPatterns azure cloud
Patterns azure cloud
 

Mehr von Philippe Geiger

Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024
Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024
Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024Philippe Geiger
 
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les NotebooksSQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les NotebooksPhilippe Geiger
 
SQL Saturday Haïti 2023 - Azure Data Factory pour les nuls
SQL Saturday Haïti 2023 - Azure Data Factory pour les nulsSQL Saturday Haïti 2023 - Azure Data Factory pour les nuls
SQL Saturday Haïti 2023 - Azure Data Factory pour les nulsPhilippe Geiger
 
Meetup Club Power BI - Power BI Embedded, mai 2023
Meetup Club Power BI - Power BI Embedded, mai 2023Meetup Club Power BI - Power BI Embedded, mai 2023
Meetup Club Power BI - Power BI Embedded, mai 2023Philippe Geiger
 
Meetup Club Power BI Power BI et IA mars 2023
Meetup Club Power BI Power BI et IA mars 2023Meetup Club Power BI Power BI et IA mars 2023
Meetup Club Power BI Power BI et IA mars 2023Philippe Geiger
 
PPFS 2022 - Créer des rapports parfaits Power BI
PPFS 2022 - Créer des rapports parfaits Power BIPPFS 2022 - Créer des rapports parfaits Power BI
PPFS 2022 - Créer des rapports parfaits Power BIPhilippe Geiger
 
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BI
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BIMeetup Club Power BI Strasbourg novembre 2022 Histoire de Power BI
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BIPhilippe Geiger
 
Meetup Club Power BI Strasbourg - Power BI Goals
Meetup Club Power BI Strasbourg - Power BI GoalsMeetup Club Power BI Strasbourg - Power BI Goals
Meetup Club Power BI Strasbourg - Power BI GoalsPhilippe Geiger
 
Meetup Club Power BI Strasbourg - introduction Power BI Report Builder
Meetup Club Power BI Strasbourg - introduction Power BI Report BuilderMeetup Club Power BI Strasbourg - introduction Power BI Report Builder
Meetup Club Power BI Strasbourg - introduction Power BI Report BuilderPhilippe Geiger
 
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxSQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxPhilippe Geiger
 
202112 meetup all - noel - strasbourg
202112   meetup all - noel - strasbourg202112   meetup all - noel - strasbourg
202112 meetup all - noel - strasbourgPhilippe Geiger
 
SQL Saturday Paris 2018 - DBA Tooling - PGeiger
SQL Saturday Paris 2018 - DBA Tooling - PGeigerSQL Saturday Paris 2018 - DBA Tooling - PGeiger
SQL Saturday Paris 2018 - DBA Tooling - PGeigerPhilippe Geiger
 
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...Philippe Geiger
 
24HOP French 2017 - Azure Machine Learning par l'exemple
24HOP French 2017 - Azure Machine Learning par l'exemple24HOP French 2017 - Azure Machine Learning par l'exemple
24HOP French 2017 - Azure Machine Learning par l'exemplePhilippe Geiger
 
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyse
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyseChoisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyse
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analysePhilippe Geiger
 
Choisir sa solution décisionnelle - Partie 1 - Acquisition des données
Choisir sa solution décisionnelle - Partie 1 - Acquisition des donnéesChoisir sa solution décisionnelle - Partie 1 - Acquisition des données
Choisir sa solution décisionnelle - Partie 1 - Acquisition des donnéesPhilippe Geiger
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeigerPhilippe Geiger
 
SQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalSQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalPhilippe Geiger
 
Panorama de l'écosystème Microsoft Data Platform
Panorama de l'écosystème Microsoft Data PlatformPanorama de l'écosystème Microsoft Data Platform
Panorama de l'écosystème Microsoft Data PlatformPhilippe Geiger
 
Afterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftAfterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftPhilippe Geiger
 

Mehr von Philippe Geiger (20)

Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024
Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024
Microsoft Fabric, solution décisionnelle - aMS Strasbourg 2024
 
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les NotebooksSQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
 
SQL Saturday Haïti 2023 - Azure Data Factory pour les nuls
SQL Saturday Haïti 2023 - Azure Data Factory pour les nulsSQL Saturday Haïti 2023 - Azure Data Factory pour les nuls
SQL Saturday Haïti 2023 - Azure Data Factory pour les nuls
 
Meetup Club Power BI - Power BI Embedded, mai 2023
Meetup Club Power BI - Power BI Embedded, mai 2023Meetup Club Power BI - Power BI Embedded, mai 2023
Meetup Club Power BI - Power BI Embedded, mai 2023
 
Meetup Club Power BI Power BI et IA mars 2023
Meetup Club Power BI Power BI et IA mars 2023Meetup Club Power BI Power BI et IA mars 2023
Meetup Club Power BI Power BI et IA mars 2023
 
PPFS 2022 - Créer des rapports parfaits Power BI
PPFS 2022 - Créer des rapports parfaits Power BIPPFS 2022 - Créer des rapports parfaits Power BI
PPFS 2022 - Créer des rapports parfaits Power BI
 
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BI
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BIMeetup Club Power BI Strasbourg novembre 2022 Histoire de Power BI
Meetup Club Power BI Strasbourg novembre 2022 Histoire de Power BI
 
Meetup Club Power BI Strasbourg - Power BI Goals
Meetup Club Power BI Strasbourg - Power BI GoalsMeetup Club Power BI Strasbourg - Power BI Goals
Meetup Club Power BI Strasbourg - Power BI Goals
 
Meetup Club Power BI Strasbourg - introduction Power BI Report Builder
Meetup Club Power BI Strasbourg - introduction Power BI Report BuilderMeetup Club Power BI Strasbourg - introduction Power BI Report Builder
Meetup Club Power BI Strasbourg - introduction Power BI Report Builder
 
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptxSQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
SQL Saturday Haïti 2022 - Débuter avec Azure pour les DBA.pptx
 
202112 meetup all - noel - strasbourg
202112   meetup all - noel - strasbourg202112   meetup all - noel - strasbourg
202112 meetup all - noel - strasbourg
 
SQL Saturday Paris 2018 - DBA Tooling - PGeiger
SQL Saturday Paris 2018 - DBA Tooling - PGeigerSQL Saturday Paris 2018 - DBA Tooling - PGeiger
SQL Saturday Paris 2018 - DBA Tooling - PGeiger
 
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...
Choisir sa solution décisionnelle - Partie 3 - Visualisation et analyse de do...
 
24HOP French 2017 - Azure Machine Learning par l'exemple
24HOP French 2017 - Azure Machine Learning par l'exemple24HOP French 2017 - Azure Machine Learning par l'exemple
24HOP French 2017 - Azure Machine Learning par l'exemple
 
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyse
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyseChoisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyse
Choisir sa solution décisionnelle - Partie 2 - Des modèles à l’analyse
 
Choisir sa solution décisionnelle - Partie 1 - Acquisition des données
Choisir sa solution décisionnelle - Partie 1 - Acquisition des donnéesChoisir sa solution décisionnelle - Partie 1 - Acquisition des données
Choisir sa solution décisionnelle - Partie 1 - Acquisition des données
 
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
24HOP French 2016 - Service Broker, le mal-aimé, PGeiger
 
SQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - finalSQL Saturday 510 Paris 2016 - Query Store session - final
SQL Saturday 510 Paris 2016 - Query Store session - final
 
Panorama de l'écosystème Microsoft Data Platform
Panorama de l'écosystème Microsoft Data PlatformPanorama de l'écosystème Microsoft Data Platform
Panorama de l'écosystème Microsoft Data Platform
 
Afterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftAfterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoft
 

Power BI : les bonnes pratiques - aMS Strasbourg 2021

  • 1. 1 aMS Strasbourg 14/10/2021 Power BI : les bonnes pratiques Philippe Geiger
  • 2. ◦ MERCI A NOS SPONSORS ! 2
  • 3. Phi l i ppe Ge i ge r Qui suis-je ? C e r t i f i c a t i o n s Directeurs des activités Metsys Grand-Est Spécialiste/formateur de la plateforme Microsoft Data https://blog.pgeiger.net/ @pgeiger https://www.linkedin.com/in/pgeiger/
  • 4. Agenda • Optimisation du chargement • Optimisation du modèle • Optimisation de la data visualisation • Démonstrations • Conclusion 4
  • 6. Query Folding • Le Query Folding permet à une requête Power Query de générer une seule instruction de requête afin de récupérer et transformer des données sources. • Cela permet de déléguer la plus grande partie possible du traitement à la source de données • Par exemple : en utilisant une requête SQL native 6
  • 7. Référencement des requêtes • En général, il est recommandé de référencer les requêtes pour éviter la duplication de la logique dans vos autres requêtes • Toutefois, cette approche de conception risque de ralentir l’actualisation des données et surcharger les sources de données 7
  • 8. Autres optimisations • Réduire le plus tôt possible la quantité de données à traiter • Séquencer logiquement les instructions 8
  • 11. Types de relations Cardinalité Préconisation Relation 1 à n A privilégier, avec des nombres entiers comme clés de jointure Relation 1 à 1 Peut-être remplacer par une seule table Relation n à n Attention aux performances Relations bidirectionnelles Relations actives et inactives 11
  • 12. Autres optimisations • Réduire la taille du modèle de données • Créer une table de date • Choisir le modèle de chargement (DirectQuery, Import, Composite, Live Connection) • Utiliser les agrégations • RLS peut dégrader les performances 12
  • 13. DAX Références de colonne et de mesure • Toujours utiliser des références de colonne complètes • Ne jamais utiliser de références de mesure complètes Voici pourquoi : • Entrée de formule : Les expressions sont acceptées, car il n’y a pas de référence ambiguë à résoudre. Par ailleurs, vous respectez les exigences de ces fonctions DAX qui demandent des références de colonne complètes. • Robustesse : Les expressions continuent de fonctionner, même quand vous changez la propriété de table principale d’une mesure. • Lisibilité : Les expressions sont rapides et faciles à comprendre : vous déterminez rapidement s’il s’agit d’une colonne ou d’une mesure, selon que sa référence est complète ou non.
  • 14. DAX • Éviter les fonctions d’erreur (ISERROR, IFERROR) • Préférer la fonction DIVIDE • Éviter de convertir des blancs (BLANK) en valeurs • Dans CALCULATE, préférer KEEPFILTERS à FILTER ◦ Pour des performances optimales, il est recommandé d’utiliser des expressions booléennes comme arguments de filtre chaque fois que cela vous est possible. • Utiliser SELECTEDVALUE à la place de VALUES • Utiliser COUNTROWS à la place de COUNT • Utiliser des variables pour améliorer vos formules DAX 14
  • 15. 15 OPTIMISATION DE LA DATA VISUALISATION
  • 16. Modèle sémantique • « Mal nommer les choses, jugeait Camus, c'est ajouter au malheur du monde. Ne pas nommer les choses, c'est nier notre humanité. » • Propos prêté à Albert Camus 16
  • 17. Autres optimisations • Les tableaux de bord utilisent un cache pour les mosaïques • Appliquer les filtres les plus restrictifs • Plus un élément visuel contient de données à afficher, plus son chargement est lent. • Limiter le nombre d’éléments visuels sur les pages de rapport • Évaluer les performances des éléments visuels personnalisés 17
  • 19. En guise de conclusion • Voir aussi la session de décembre 2019 du Club Power BI de Strasbourg ◦ [Strasbourg] Les bonnes pratiques à respecter pour tous bons rapports Power BI ◦ Visible sur YouTube : https://youtu.be/fa1NLBek63M 19 • Voir la série d’articles ◦ https://docs.microsoft.com/fr- fr/power-bi/guidance/overview