Le langage DAX est un langage majeur d'analyse et de modélisation de données utilisé avec Power BI ou Excel appelé à rapidement s’imposer, d'une part grâce à sa capacité à faire le lien entre l’analyse de tous les jours et les énormes volumes de données stockées dans les bases et, d'autre part, grâce à sa capacité à gérer une grande variété de sources de données. C’est un langage particulièrement puissant dans le sens où il permet l’analyse des données (par...
Le langage DAX est un langage majeur d'analyse et de modélisation de données utilisé avec Power BI ou Excel appelé à rapidement s’imposer, d'une part grâce à sa capacité à faire le lien entre l’analyse de tous les jours et les énormes volumes de données stockées dans les bases et, d'autre part, grâce à sa capacité à gérer une grande variété de sources de données. C’est un langage particulièrement puissant dans le sens où il permet l’analyse des données (par l’utilisation de fonctions génériques : somme, moyenne… ou spécifiques : analyse temporelle, financière…) mais aussi la modification du modèle de données (de nombreuses fonctions ont pour rôle de créer des tables temporaires ou de changer les relations entre les tables). Enfin c’est un langage dont le ressort principal est un concept clé : le contexte d'évaluation qu’il faut impérativement comprendre et maîtriser pour être à l’aise avec le DAX.
Ce livre sur DAX vient compléter les livres Power BI Desktop, De l'analyse de données au reporting et Renforcer, approfondir, explorer écrits par le même auteur. Le but de cet ouvrage est de vous permettre d'acquérir une très bonne maîtrise de ce langage à travers une alternance de bases théoriques indispensables pour comprendre le fonctionnement du DAX et de nombreux exercices de mise en pratique.
Les chapitres abordent les notions suivantes :
· La définition du modèle
· Les principes fondamentaux du langage DAX
· Les variables
· Les fonctions d’agrégation et d’itération
· La fonction CALCULATE
· Les fonctions logiques et les fonctions d'information
· Les fonctions de manipulation du modèle physique
· Les fonctions de date et la table du temps
· Les autres familles de fonctions
Chaque chapitre comprend une partie sur l'explication des concepts suivi de plusieurs énoncés d'exercices qu’il vous sera possible de réaliser en prenant le temps de réfléchir et de chercher la réponse. Ils sont suivis bien sûr d'une correction détaillée.
Ces exercices illustrent les points développés dans la partie concept et bien souvent, apportent des éléments complémentaires : de nouvelles fonctions, des subtilités de concepts... Bref, ils font intégralement partie du cursus d’apprentissage. Ils sont présentés et commentés dans Power BI qui est incontestablement l'outil fait pour le DAX.
Pour réaliser ces exercices, vous disposez de deux modèles de données, l’un référençant les cours de l’or, l’autre simulant les ventes d’une librairie. Ces fichiers sont disponibles en téléchargement ainsi que les fichiers corrigés.
D. Le premier script DAX : créer une table du temps avec Power BI
E. Créer une table de dates avec Power Pivot
F. Création de visuels avec Power BI
1. Créer un tableau
2. Créer un tableau croisé
3. Créer une carte
4. Créer un segment
G. Création de visuels avec Excel et Power Pivot
1. Créer un tableau croisé dynamique
2. Créer une carte (donnée unique)
3. Créer un segment
H. Le contexte de filtre et le contexte de ligne
1. Le contexte de ligne
2. Le contexte de filtre
3. Les relations à double sens et la propagation du filtre avec CROSSFILTER
4. La transition de contexte avec RELATEDTABLE
5. Exemple commenté de formule complexe
I. La fonction CALCULATE
1. La syntaxe
2. Les trois façons de modifier le contexte de filtre (remplacer, ajouter, supprimer)
J. L'éditeur de DAX de Power BI
K. Exercices
1. Les mesures, les colonnes
a. Créer des mesures dans le fichier librairie
b. Créer des mesures dans le fichier or
2. Créer la table du temps avec Power BI
3. Créer la table du temps avec Excel et Power Pivot
4. Les conventions d’écriture du DAX
a. Mettre en forme une formule DAX : exemple 1
b. Mettre en forme une formule DAX : exemple 2
5. Créer les visuels de base
a. Dans Power BI
b. Dans Excel
6. CALCULATE
a. Montant BD
b. Différence 2019 / 2018
c. Pourcentage
d. Montant moyen
L. Corrigés
1. Les mesures, les colonnes
a. Créer des mesures dans le fichier librairie
b. Créer des mesures dans le fichier or
2. Créer la table du temps avec Power BI
3. Créer la table du temps avec Excel et Power Pivot
4. Les conventions d’écriture du DAX
a. Mettre en forme une formule DAX
b. Mettre en forme une formule DAX
5. Créer les visuels de base
a. Dans Power BI
b. Dans Excel
6. CALCULATE
a. Le montant pour la catégorie BD
b. Différence entre le montant 2019 et le montant 2018
c. Pourcentage de chaque catégorie par rapport au total
d. Le montant moyen par commande
Utiliser les variables
A. Rôle et déclaration des variables avec VAR
B. Exemple de lisibilité facilitée et de performance améliorée
C. Correction de formules avec les variables
D. Les variables et le contexte de filtre
E. Déclarer une variable à l’intérieur de la formule
F. En résumé
G. Exercices
1. Renforcer la lisibilité et améliorer la performance
2. Débugger une formule
3. Jouer sur le contexte de filtre
H. Corrigés
1. Renforcer la lisibilité et améliorer la performance
2. Débugger une formule
3. Jouer sur le contexte de filtre
Agrégation et itération
A. Introduction
B. Pourquoi systématiquement agréger un nombre
C. Les fonctions d’agrégation (SUM, AVERAGE...)
1. Généralités
2. Une utilisation majeure de la fonction MAX
3. Compter avec COUNT et COUNTROWS
D. Les fonctions d’itération pour agréger (SUMX, AVERAGEX, ...)
1. Généralités
2. Calculer la moyenne mobile avec AVERAGEX
3. La fonction RANKX
4. La fonction CONCATENATEX
E. Exercices
1. Les fonctions d’agrégation
a. Calculer le cours de l’or à fin de semaine
b. Compter le nombre de ...
2. Les fonctions d’itération pour agréger
a. Calculer le montant moyen de la commande pour chaque mois
b. Calculer le montant moyen des ventes pour les trois meilleurs livres de chaque catégorie
c. La fonction RANKX
d. La fonction CONCATENATEX
F. Corrigés
1. Les fonctions d’agrégation
a. Calculer le cours de l’or à fin de semaine
b. Compter
2. Les fonctions d’itération pour agréger
a. Calculer le montant moyen de la commande pour chaque mois
b. Calculer le montant moyen des ventes pour les trois meilleurs livres de chaque catégorie
c. La fonction RANKX
d. La fonction CONCATENATEX
CALCULATE et les modifications du filtre
A. Introduction
B. Les principes de CALCULATE
1. La syntaxe
2. Comment CALCULATE modifie le contexte de filtre
C. Les arguments de filtres complexes (AND, OR)
1. Sur une colonne
2. Sur plusieurs colonnes
D. Les fonctions de filtre : FILTER et KEEPFILTERS
1. FILTER
2. KEEPFILTERS
E. Les fonctions ALL*
1. ALL, ALLEXCEPT
2. ALLSELECTED
F. Ordre des opérations dans CALCULATE
G. Exercices
1. Les principes de CALCULATE
a. Combien de livres par catégorie ?
b. Comprendre le contexte de filtre
2. Les arguments de filtres complexes
3. Les fonctions de filtre : FILTER
4. Les fonctions ALL, ALLEXCEPT et ALLSELECTED
5. Trois exercices sur CALCULATE
a. Les clients nantais
b. Le nombre de jours où il y a eu des commandes
c. Les quantités toutes années et toutes catégories
H. Corrigés
1. Les principes de CALCULATE
a. Combien de livres par catégorie ?
b. Comprendre le contexte de filtre
2. Les arguments de filtres complexes
3. Les fonctions de filtre : FILTER
4. Les fonctions ALL, ALLEXCEPT et ALLSELECTED
5. Trois exercices sur CALCULATE
a. Les clients nantais
b. Le nombre de jours où il y a eu des commandes
c. Les quantités toutes années et toutes catégories
Les fonctions logiques et les fonctions d'information
A. Introduction
B. Le traitement conditionnel et les fonctions logiques
1. La fonction IF et ses variantes
2. La gestion des erreurs avec IFERROR
3. COALESCE
C. Les fonctions d’information
1. ISBLANK, ISEMPTY
2. FILTERS, VALUES
3. ISFILTERED, ISCROSSFILTERED
4. HASONEVALUE, SELECTEDVALUE, ISINSCOPE
D. Exercices
1. Le traitement conditionnel et les fonctions logiques
2. Les fonctions d’information
a. FILTERS, VALUES
b. HASONEVALUE, SELECTEDVALUE, ISINSCOPE
E. Corrigés
1. Le traitement conditionnel et les fonctions logiques
2. Les fonctions d’information
a. FILTERS, VALUES
b. HASONEVALUE, SELECTEDVALUE, ISINSCOPE
Les fonctions de manipulation du modèle physique
A. Introduction
B. Les fonctions de table
1. FILTER, ALL
2. CALCULATETABLE
3. VALUES, DISTINCT
4. ADDCOLUMNS
5. SUMMARIZE, CROSSJOIN
6. Un mot sur les tables d’agrégation
7. SELECTCOLUMNS
8. UNION / INTERSECT / EXCEPT
9. GENERATESERIES
C. Les fonctions de relation
1. Les types de relations
2. RELATED / RELATEDTABLE
3. USERELATIONSHIP
4. CROSSFILTER
5. TREATAS
6. LOOKUPVALUE
D. Les fonctions de conversion
1. CONVERT
2. FORMAT
3. VALUE
4. DATE
5. TIME
E. Exercices
1. Les fonctions de table
a. Table des livres de littérature
b. Table des villes et quantité
c. Table des combinaisons ville-genre et montant
d. Agrégat année-moyen de paiement
e. Quels genres promouvoir ?
2. Les fonctions de relation
a. USERELATIONSHIP
b. CROSSFILTER
c. TREATAS
F. Corrigés
1. Les fonctions de table
a. Table des livres de littérature
b. Table des villes et quantité
c. Table des combinaisons ville-genre et montant
d. Agrégat année-moyen de paiement
e. Quels genres promouvoir ?
2. Les fonctions de relation
a. USERELATIONSHIP
b. CROSSFILTER
c. TREATAS
Les fonctions de date et la table du temps
A. Créer la table du temps
1. Faut-il toujours ajouter une table du temps ?
2. Une ou plusieurs tables ?
3. CALENDARAUTO, CALENDAR et le script DAX
B. Travailler avec les semaines (WEEKNUM)
1. Les normes de calcul de la semaine
2. Le calcul de la semaine en norme ISO 8601
C. Travailler avec les heures
D. Les fonctions de date
1. DATEDIFF
2. NOW, TODAY
3. DAY, MONTH, QUARTER, YEAR
E. CALCULATE et les fonctions de Time Intelligence
1. Les briques de base de la Time Intelligence
2. Les fonctions de Time Intelligence pour cumuler (DATESYTD, TOTALYTD)
3. Le cas particulier du cumul hebdomadaire
4. La moyenne mobile avec AVERAGEX
5. La moyenne mobile avec DATESINPERIOD
6. La variation avec DATEADD
7. DATEADD, PARALLELPERIOD et SAMEPERIODLASTYEAR
8. La tendance (ou saisonnalité)
9. Les autres fonctions de Time Intelligence en deux mots
F. Exercices
1. Créer la table du temps
2. Les fonctions de date
a. DATEDIFF
3. CALCULATE et les fonctions de Time Intelligence
a. Calculer la quantité l’année précédente (A-1)
b. Calculer un cumul annuel de la quantité
c. Calculer un total trimestriel glissant de la quantité
d. Calculer un cumul perpétuel de la quantité
e. Calculer la variation par rapport au mois précédent
f. Le cumul annuel à date
g. Calculer la moyenne mobile des montants à 7 jours
G. Corrigés
1. Créer la table du temps
2. Les fonctions de date
a. DATEDIFF
3. CALCULATE et les fonctions de Time Intelligence
a. Calculer la quantité l’année précédente (A-1)
b. Calculer un cumul annuel de la quantité
c. Calculer un total trimestriel glissant de la quantité
d. Calculer un cumul perpétuel de la quantité
e. Calculer la variation par rapport au mois précédent
f. Le cumul annuel à date
g. Calculer la moyenne mobile des montants à 7 jours
Aperçu des autres familles de fonctions
A. Introduction
B. Les fonctions de manipulation du texte
C. Les fonctions d’analyse financière
D. Les fonctions mathématiques
E. Les fonctions statistiques
Conclusion
Index
André MEYER-ROUSSILHON
André MEYER-ROUSSILHON suit depuis 20 ans l’évolution des méthodes et outils de BI dans un parcours de consultant et formateur, de Business Objects à Cognos, de Microstrategy à, aujourd’hui, Tableau et Power BI ; il a également développé de nombreuses compétences dans le domaine de la modélisation dimensionnelle pour les bases de données et de la conduite de projet décisionnel. Surpris par la facilité de mise en oeuvre de Power BI, son puissant langage et son évolution permanente, il est passionné par cet outil de BI. Il a créé le site www.daxone.fr où il publie régulièrement des articles pour vous inviter à continuer à approfondir votre connaissance de Power BI.