Vous êtes sur la page 1sur 14

Partie 2

1. Business intelligence : Cycle analytique


Business Intelligence 2. Applications de BI
3. Solutions du Business intelligence
4. Langage DAX
Filière INDIA (Semestre 4)

Université Mohammed V de Rabat

Pr. Abderrahim El Qadi


Département Mathématique Appliquée et Génie Informatique
ENSAM, Université Mohammed V de Rabat
A.U. 2023/2024

DW & BI -57- A. El Qadi DW & BI -58- A. El Qadi

Références 1.Cycle analytique du Business intelligence


Livre blanc : La business intelligence Keyrus- Mai 2010 L
Livre Introduction to Microsoft POWER BI. M.O. CUDDLEY. 2016 supportent le processus de collecte, consolidation, modélisation, analyse et
ETS restitution des informations.
Département de génie logiciel et des TI, MTI820 Hiver 2011 © S. Chafki, Le processus de BI vise à récupérer des données brutes (contenues dans des
C. Desrosiers. outils type ERP, CRM, sources externes provenant des clients /
Atelier de formation Excel Fonctions DAX pour Power Pivot pour s transformer en information et
contrôleur et analyste. SVL, version 4.4 à les diffuser sous forme de tableaux de bord ou reporting.
Power BI Desktop. Renforcer, approfondir, explorer, André MEYER- Elle a pour objectif d'aider les dirigeants dans leurs prises de décisions et
ROUSSILHON. dans l'analyse de la performance de leur entreprise.
Outils de Business Intelligence : Le Top 10 en 2022 (comparatif) - BORYL.
https://learn.microsoft.com/fr-fr/dax/filter-functions-dax

DW & BI -59- A. El Qadi DW & BI -60- A. El Qadi


Cycle analytique du BI
1. Surveiller les Question : « Que se passe-t-il ? »
activités Exemple : comparaison des résultats courants de l'entreprise avec
ceux de la période précédente ou av
2. Identifier des Questions : -t-il des problèmes ? Où sont ces problèmes ? »
exceptions Exemple : analyse des tendances de performance pour différentes
régions, en regard de la performance moyenne
3. Déterminer Question : « Pourquoi le problème survient-il ? »
les causes Exemple : identifier les relations et les interactions entre les variables
ayant un impact sur le critère de performance
4. Modéliser les Question : -il aux résultats si une certaine
alternatives décision était prise ? »
Exemple : prédire les revenus et le taux de rétention des clients pour
la prochaine année si telle promotion était lancée
Analyse tactique : fournit des métriques de performance (ex : scorecards), 5. Agir et faire les
concerne les objectifs à court- . le suivi des
Analyse stratégique : vise à soutenir la réalisation des objectifs à long terme résultats
de l'entreprise, tels que la croissance du chiffre d'affaires, l'expansion sur de
scénario sélectionné ;
nouveaux marchés, l'amélioration de la rentabilité, etc
Faire le suivi des résultats futurs en fonction de ces nouveaux

DW & BI -61- A. El Qadi DW & BI -62- A. El Qadi

2. Les applications BI 2.1. Requêtes ad-hoc


Requêtes ad-hoc; Définition des requêtes : Traduire les besoins dans la syntaxe de requête
Analyse multidimensionnelle (OLAP); (ex: SQL, ADX, etc.).
Reporting ; User Story
Tableaux de bord ; des opérations immobilières reçues et acceptées par mon agence,
Scorecards ;
Exécution des requêtes : Obtenir les résultats de manière efficace et
À quels besoins répondent ces différentes applications ? sécuritaire.
Présentation des résultats : Offrir différentes manières de visualiser les
résultats (ex : tableau croisé, graphique, etc.).

DW & BI -63- A. El Qadi DW & BI -64- A. El Qadi


Exemple de requête simple : 2.2. Analyse multidimensionnelle (OLAP)
NOCLIENT NOARTICLE DATEVENTE MONTANT SELECT noClient,noArticle,SUM(montant)
1 10 10/01/2000 100 FROM Vente Un cube OLAP est une représentation abstraite d'informations
2 20 10/01/2000 200
3 10 10/01/2000 500
GROUP BY noClient,noArticle ; multidimensionnelles exclusivement numérique utilisé par l'approche
1
3
10
40
15/01/2000 300 NOCLIENT NOARTICLE SUM(MONTANT) OLAP (acronyme de On-line Analytical Processing).
15/01/2000 100 ---------- ---------- ------------
2 60 16/01/2000 200 1 10 500 Cette structure est prévue à des fins d'analyses interactives par une ou
4
2
60
10
20/02/2000
20/02/2000
400
200
1
1
20
40
200
100
plusieurs personnes (souvent ni informaticiens ni statisticiens) du métier
1 40 25/02/2000 100 1 50 200 que ces données sont censées représenter.
4 10 04/03/2000 300 1 60 200
1 20 04/03/2000 200 2 10 700
2 20 300 Les cubes OLAP ont les caractéristiques suivantes :
2 60 400
3 10 1000
1- obtenir des informations déjà agrégées selon les
3 20 400
3 40 100
3 50 200 2-
4
4
10
60
300
500
3- capacité à manipuler les données agrégées selon
différentes dimensions
Tableau croise noArticle
10 20 40 50 60
4- un cube utilise les fonctions classiques
1 500 200 100 200 200
2 700 300 0 0 400
noClient
3 1000 400 100 200 0 utiliser des fonct
4 300 0 0 0 500

DW & BI -65- A. El Qadi DW & BI -66- A. El Qadi

Description de la base multidimensionnelle : (2) Multidimensionnel OLAP (MOLAP)


- Les systèmes multidimensionnels OLAP utilisent une base de
3 possibilités : données multidimensionnelle pour stocker les données de l'entrepôt et
(1) Relational OLAP (On Line Analytical Processing) (ROLAP) : les applications analytiques sont construites directement sur elle.
- Données sont stockées dans un SGBD relationnel - Les données sont stockées comme des matrices à plusieurs
- Le moteur ROLAP traduit dynamiquement le modèle logique de dimensions : Cube[1:m,1:n,1:p](mesure)
données multidimensionnel M en modèle de stockage relationnel R - Accès direct aux données dans le cube.

- Le modèle de données multidimensionnel est un tableau à n


dimensions (Hypercube). Chaque position dans un tableau
multidimensionnel, correspondant à une intersection de toutes les
dimensions est appelée une cellule.

DW & BI -67- A. El Qadi DW & BI -68- A. El Qadi


(3) Hybride OLAP (HOLAP) - Différence entre ROLAP et MOLAP
- Données stockées dans SGBD relationnel (données de base) ROLAP MOLAP
- + structure de stockage en cube (données agrégées). Signifier Relationnel OLAP Multidimensionnel OLAP
Les données sont stockées dans le grand
Les données sont stockées sous forme
tableau multidimensionnel composé de
Forme de de tables relationnelles.
cubes de données.
données

Accès Accès lent Accès plus rapide.


ROLAP crée une vue MOLAP stocke déjà la vue
Vue multidimensionnelle des données de
multidimensionnelle statique dans les
manière dynamique. MDDB.
Le moteur MOLAP crée des cubes de
données pré-calculés et pré-fabriqués pour
Utilise des requêtes SQL complexes
les vues de données multidimensionnelles.
Technologies pour extraire des données de
La technologie de matrice fragmentée est
utilisée pour gérer la dispersion des
données.
Les données sont stockées et extraites à
Stockage & Les données sont stockées et extraites
partir des MDDBs de la base de données
Récupération
propriétaire.

DW & BI -69- A. El Qadi DW & BI -70- A. El Qadi

Opérations sur le cube OLAP: b)Roll-up : permet de remonter dans la hiérarchie de la dimension.
a) Pivot ou Rotate : cube est utilisé lorsque l'utilisateur a besoin de davantage d'abstraction ou de
moins de détails.
est utilisé lorsque l'utilisateur souhaite réorienter la vue du cube de
Par exemple : visualiser les ventes par Article et Année.
données.

colonne.

Tableau noClient 600


10
croise noArticle 1 2 3 4 500
20
10 20 40 50 60 10 500 700 1000 300 400 40
1 500 200 100 200 200 20 200 300 400 0 300 60 60

2 700 300 0 0 400 40 100 0 100 0 40


noClient 200
3 1000 400 100 200 0 50 200 0 200 0 100
20

4 300 0 0 0 500 60 200 400 0 500 0


10

10-janv 15-janv 16-janv 20-févr 25-févr 04-mars


2000

DW & BI -71- A. El Qadi DW & BI -72- A. El Qadi


Clause ROLLUP : permet de faire des regroupements de plus en plus SELECT noClient, noArticle, SUM(montant)
FROM Vente
généraux.
GROUP BY ROLLUP (noClient, noArticle) ;

SELECT <column list> NOCLIENT NOARTICLE SUM(MONTANT)


---------- ---------- ------------
1 10 500
GROUP BY ROLLUP(column_list); 1 20 200
1 40 100
1 50 200
Crée des agrégats à n+1 niveaux, n étant le nombre de colonne de 1 60 200
groupage n, n-1, n- 1 1200
2 10 700
2 20 300
2 60 400
2 1400
3 10 1000
3 20 400
3 40 100
3 50 200
3 1700
4 10 300
4 60 500
4 800
5100

DW & BI -73- A. El Qadi DW & BI -74- A. El Qadi

c) Drill-down : permet de descendre dans la hiérarchie de la dimension. Clause CUBE : permet de réaliser le calcul demandé sur tous les regroupements
-up. possibles.
Par exemple : visualiser les ventes par Article et par
mois au lieu de par Année. SELECT <column list>

Il s'agit d'une opération appropriée GROUP BY CUBE(column_list);

Crée 2n combinaisons d'agrégats, n étant le nombre de colonne de groupage


eur souhaite se concentrer sur certaines valeurs
particulières de certaines dimensions.

La hiérarchie temporelle était "jour < mois < trimestre < année".
Lors de l'exploration ascendante, la dimension temporelle descend du
niveau du trimestre au niveau du mois.

DW & BI -75- A. El Qadi DW & BI -76- A. El Qadi


SELECT noClient, noArticle, SUM(montant) d) SLICE : permet de faire une sélection sur une seule dimension du cube
FROM Vente
(ex. Visualiser les (noArticle=10).
GROUP BY CUBE (noClient, noArticle) ;
NOCLIENT NOARTICLE SUM(MONTANT)
----------
1
----------
10
------------
500
e) DICE : permet de faire une sélection sur deux ou plusieurs dimensions
1 20 200 du cube.
1 40 100
1 50 200
1 60 200
1 1200
2 10 700
2 20 300
2 60 400
2 1400
3 10 1000
3 20 400
3 40 100
3 50 200
3 1700
4 10 300
4 60 500
4 800
10 2500
20 900
40 200
50 400
60 1100
5100

DW & BI -77- A. El Qadi DW & BI -78- A. El Qadi

2.3. Reporting 2.4. Tableaux de bords


L Les tableaux de bord sont un moyen de surveiller entreprise et de voir
Il rassemble les données récupérées provenant de différentes sources de toutes les
qualité. Les tableaux de bord offrent à une organisation une vue de ses performances
Dans un sens plus large, le reporting de la BI est aussi la présentation de ces actuelles par rapport à ses objectifs.
données sous forme simplifiée et la plus compréhensible. Les
jeux de données sous- -jacents.
Exemple :
R1 : le rang de prix unitaire de R2. Le prix unité total des articles par
chaque article catégorie ?

DW & BI -79- A. El Qadi DW & BI -80- A. El Qadi


2.5. Les cartes de performance ou scorecards,
Une carte de performance affiche simplement des indicateurs graphiques
qui représentent si un élément a réussi ou échoué dans ses tentatives

Les scorecards sont généralement structurées autour des perspectives


stratégiques telles que les finances, les clients, les processus internes et
l'apprentissage et la croissance.
Les indicateurs de performance clés (KPI) sont en fait des mesures

Exemples de KPI :

Les produits les plus vendus / les moins vendus


on des parts de marché dans le temps

https://decizia.com/blog/2013/01/11/usages-de-la-business-intelligence/

DW & BI -81- A. El Qadi DW & BI -82- A. El Qadi

Dans le sport, une carte de pointage est utilisée pour enregistrer les scores 3. Solutions BI (OLAP)
des matchs. Les solutions de Business Intelligence permettent de créer de la valeur à partir
avoir un tableau de ces données.
Les outils de BI sont des logiciels qui rassemblent, stockent et traitent de
impliquées dans le match de football en cours.
afin
proposé pour les deux équipes impliquées dans le jeu et les détails y de créer des rapports, et des tableaux de bord.
sont enregistrés.
Il existe deux grands types de solutions BI :
de football pour enregistrer le nombre de pénalités et la performance Les solutions dites « légères » conçues uniquement pour la visualisation
du joueur. des données (pas de Data Warehouse

complètes (Data Warehouse, ETL).

DW & BI -83- A. El Qadi DW & BI -84- A. El Qadi


Solution BI Caractéristiques Qlik Sense Est un outil SaaS puissant de BI en libre-service qui aide les
professionnels à développer des tableaux de bord et des
Tableau rapports interactifs.
Intelligence les plus populaires sur le marché.
Est t la mise à
sous forme de visualisations, de tableaux de bord et de -
rapports. aux données et de le visualiser.
outil très fiable qui permet de se connecter à un très IBM Cognos Plateforme SaaS basée sur le cloud.
grand nombre de sources de données en temps réel avec une P
grande sécurité. Analytics sources afin de créer des tableaux de bord, des visualisations
Pas ETL intégré et des rapports interactifs.
Relativement cher pour les petites entreprises. Une caractéristique particulière de cette plateforme est
Looker Est une plateforme SaaS de BI qui permet aux petites et
grandes entreprises de tirer profit de leurs données. tableaux de bord et recevoir des alertes.
Est Oracle Oracle propose, depuis la version 9i, un moteur OLAP
visualisation et le partage des données. directement intégré à sa base de donnée relationnelle.
Utilisant un langage de modélisation propriétaire simple, elle
permet de définir les relations entre les données tout en
contournant le langage SQL.

DW & BI -85- A. El Qadi DW & BI -86- A. El Qadi

SQL Server Microsoft SQL Server 2005 Analysis Services (SSAS) fournit Pentahou La plateforme Pentaho Business Analytics (BA) permet
(Analysis Services) des fonctions OLAP (Online Analytical Processing) et
d'exploration de données pour les applications décisionnelles. en toute sécurité les données Big Data.
Analysis Services prend en charge OLAP en permettant de Que les données soient stockées dans un fichier plat, une base
concevoir, de créer et de gérer des structures de données relationnelle, Hadoop, une base de données
multidimensionnelles qui contiennent des données agrégées NoSQL, une base de données analytique, des flux de médias
provenant d'autres sources de données, telles que des bases de sociaux, des magasins opérationnels ou dans le cloud.
données relationnelles. Permet de programmer, personnaliser les rapports, les
requêtes, les transformations ou étendre les fonctionnalités à
Google Data API étendue
Facile et rapide de créer des visualisations avancées (interface
Studio Mondrian Est un serveur OLAP écrit en langage Java.
intuitive)
Utilise le langage d'interrogation MDX.
comme Google Big Query, Précurseur du décisionnel Open source, est désormais intégré
Pas ETL intégré. au projet Pentaho.
Spago BI Est une solution de BI open Source italienne.
Permet de faire des analyses multidimensionnelles comme
Mondrain.

DW & BI -87- A. El Qadi DW & BI -88- A. El Qadi


Power BI Pro (Microsoft) Power BI se décline en deux composants clés : Power BI Desktop et Power
Lancé initialement en 2011, BI Service (Power BI Online, en anglais).
Outil de BI puissant basé sur le cloud.

a depuis évolué pour devenir autonome.

Grâce à son interface simple, les entreprises peuvent se connecter à une variété
de sources de données et créer leurs propres graphiques, tableaux de bord et
rapports.
À un coût relativement faible, il répond aux besoins de tout type Power BI Desktop
dinateur (PC uniquement), et qui permet de créer des tableaux de
bord visuels et dynamiques.
telles que le langage de formule DAX, les mesures rapides, le regroupement, Power BI Service/Online est une fonctionnalité payante qui
. sert essentiellement à collaborer équipe, et
partager les dashboard à des utilisateurs en mode lecture.

DW & BI -89- A. El Qadi DW & BI -90- A. El Qadi

4. Le langage DAX (Data Analysis eXpressions) Par exemple, voici une formule DAX simple :

Est un langage de formules utilisé dans Power BI,


C est un élément essentiel de l'analyse de données en BI, permettant aux
utilisateurs de créer des calculs et des mesures personnalisées pour répondre
à leurs besoins spécifiques en matière d'analyse.
Est Cette formule inclut les éléments syntaxiques suivants :
être utilisés dans une formule, ou une expression, pour calculer et retourner (A) Le nom de la mesure (nom de la colonne), Total Sales
une ou plusieurs valeurs. (B) = ), qui indique le début de la formule. Après le
calcul, un résultat est retourné
(C) La fonction DAX SUM, qui additionne tous les nombres figurant dans la
colonne Sales[SalesAmount].
(D) Des parenthèses (), qui entourent une expression contenant un ou plusieurs
arguments. La plupart des fonctions nécessitent au moins un argument. Un
argument passe une valeur à une fonction
(E) La table référencée Sales
(F) La colonne référencée, [SalesAmount], dans la table Sales. Avec cet
argument, la fonction SUM sait sur quelle colonne agréger une somme

DW & BI -91- A. El Qadi DW & BI -92- A. El Qadi


Fonctions DAX : DAX propose une large gamme de fonctions pour effectuer 4.1. La fonction CALCULATE
diverses opérations, telles que SUM(), AVERAGE(), CALCULATE(), Est la fonction DAX par excellence, dans le sens où elle permet de « jouer »
RELATED(), FILTER(), etc. avec le contexte de filtre, en précisant explicitement quel contexte appliquer.
Contexte de filtre : DAX prend en compte le contexte de filtre dans lequel Syntaxe :
une formule est évaluée. Cela signifie que les résultats des calculs peuvent CALCULATE ( <Expression> [ , <Filtre1> ] [ , <Filtre2> ] [ , ...])
varier en fonction des filtres appliqués à une visualisation ou à une requête. On ajoute autant de filtres.
Une fonction DAX fait toujours référence à une table ou une colonne
complète. importance).
Pour utiliser certaines valeurs particulières d'une table ou colonne, il faut Exemple de syntaxe de CALCULATE :
ajouter des filtres à la formule.
Total=CALCULATE(SUM(Sales[SalesAmount]), produits[couleur] = "Bleu" )
La performance de cette syntaxe tient au fait que CALCULA
modifiant le contexte de filtre, propageant ainsi le filtre dans le modèle, et ensuite
: le nombre de calculs requis est donc réduit.

Le contexte de filtre est donc défini exclusivement par la colonne couleur

DW & BI -93- A. El Qadi DW & BI -94- A. El Qadi

4.2. La fonction CALCULATETABLE 4.3. La fonction time intelligence


Évalue une expression de tableau dans un contexte modifié par des filtres. DAX inclut diverses fonctions time intelligence.
Est identique à CALCULATE, sauf pour le résultat : il renvoie une table au Ces fonctions permettent de définir ou de sélectionner des plages de dates, et
ex. comparer les
sommes sur des périodes parallèles).
Syntaxe : Exemple : Calcul le total des ventes du trimestre précédent en fonction des
CALCULATETABLE ( Exemple : filtres appliqués dans un rapport
<table_expression>, CALCULATETABLE (
table[column] = 10 VALUES ('Product'[Color]), PreviousQuarterSales = CALCULATE(SUM(Sales[SalesAmount]),
) 'Product'[Brand] = "Proseware") PREVIOUSQUARTER(Calendar[DateKey]))
Résultat :
CALCULATETABLE ( Couleur
<table_expression>, Argent
FILTER ( Bleu
ALL ( table[column] ), Blanc
table[column] = 10 Rouge
Noir
)
Vert
) Gris

DW & BI -95- A. El Qadi DW & BI -96- A. El Qadi


La fonction temporelle PREVIOUSQUARTER sert à filtrer les résultats de 4.4. La fonction Calendar
SUM sur la base du trimestre précédent.
La fonction possède un seul argument, une colonne contenant une plage de

Calendar.

PreviousQuarterSales = CALCULATE(SUM(Sales[SalesAmount]),
PREVIOUSQUARTER(Calendar[DateKey]))

La formule incluait deux fonctions PREVIOUSQUARTER, fonction à

à CALCULATE, fonction de filtre.

fonctions imbriquées.
La fonction "calendar()" cherche directement dans la colonne de dates du
modèle les dates min et maxi à afficher.

DW & BI -97- A. El Qadi DW & BI -98- A. El Qadi

4.5. Les fonctions de filtre CALCULATETABLE


Évalue une expression de tableau dans un contexte modifié par des
filtres.
Elles manipulent les contextes de tableau et de filtre.
Retourne la valeur actuelle de la colonne spécifiée dans un test
EARLIER
FONCTION DESCRIPTION
FILTER Renvoie une table qui a été filtrée.
ALL
colonne, sans tenir compte des filtres qui ont pu être appliqués. Récupère une ligne à une position absolue (spécifiée par le
INDEX paramètre position) dans la partition spécifiée triée par ordre
ALLCROSSFILTERED Efface tous les filtres appliqués à la table spécifiée.
spécifié ou sur

ALLEXCEPT Modifie la sémantique de filtrage des fonctions CALCULATE et


affectées par les filtres de colonne spécifiés. KEEPFILTERS
CALCULATETABLE.
Renvoie toutes les lignes LOOKUPVALUE E
ALLNOBLANKROW
qui ont pu être appliqués.
ORDERBY de tri au sein de chaque partition. Ne peut être utilisé que dans une
fonction Window.
colonne, en ignorant les filtres qui auraient pu être appliqués à
ALLSELECTED
Colonnes utilisées pour déterminer comment partitionner les
PARTITIONBY
données. Ne peut être utilisé que dans une fonction Window.
CALCULATE Évalue une expression dans un contexte modifié par des filtres. RANK

DW & BI -99- A. El Qadi DW & BI -100- A. El Qadi


REMOVEFILTERS Efface les filtres des tables ou colonnes spécifiées. 4.6. Fonctions de manipulation de table
ROWNUMBER Ces fonctions manipulent et renvoient des tables.
SELECTEDVALUE FONCTION DESCRIPTION
colonne
Renvoie une table contenant les nouvelles colonnes spécifiées
Récupère une plage de lignes dans la partition spécifiée, triées par ADDCOLUMNS
WINDOW par les expressions DAX.
ADDMISSINGITEMS Ajoutez les lignes avec des valeurs de mesure vides
Renvoie une table qui est une jointure croisée des tables
CROSSJOIN
spécifiées
Accès à la (sous-)table représentant le groupe actuel dans la
CURRENTGROUP
fonction GroupBy.
DATATABLE Renvoie une table avec des données définies en ligne

DetailRows définie sur la mesure spécifiée. Si aucune


DETAILSROWS
éfinie, la table entière à laquelle
appartient la mesure est renvoyée.

DW & BI -101- A. El Qadi DW & BI -102- A. El Qadi

Renvoie une table à une colonne qui contient les valeurs


GROUPBY
colonnes spécifiées.
DISTINCT colonne. Ou plusieurs colonnes avec une combinaison
Balise une expression de mesure spécifiée dans la fonction
de table. IGNORE
détermination des lignes non vides.
EXCEPT Renvoie les lignes de la table de gauche qui apparaissent dans
dans la table de droite. INTERSECT
la table de droite.
Renvoie une table des valeurs de filtre appliquées directement
FILTERS
à la colonne spécifiée. NATURALINNERJOIN
sémantique de jointure interne.
La deuxième expression de table sera évaluée pour chaque
GENERATE ligne de la première table. Renvoie la jointure croisée de la NATURALLEFTOUTER Rejoint la table de gauche avec la
première table avec ces résultats. JOIN sémantique de jointure externe gauche.

La deuxième expression de table sera évaluée pour chaque Identifie un sous-ensemble de colonnes spécifiées dans la
ligne de la première table. Renvoie la jointure croisée de la ROLLUP
GENERATEALL calculer les sous-totaux.
première table avec ces résultats, y compris les lignes pour
lesquelles la deuxième expression de table est vide. Identifie un sous-ensemble de colonnes spécifiées dans la
ROLLUPADDISSUB
Renvoie une table comportant une colonne, remplie de valeurs TOTAL
GENERATESERIES utilisée pour calculer des groupes de sous-totaux.
séquentielles du début à la fin.

DW & BI -103- A. El Qadi DW & BI -104- A. El Qadi


Identifie un sous-ensemble de colonnes spécifiées dans la Renvoie un nombre donné de lignes supérieures en fonction
TOPN
ROLLUPGROUP
calculer des groupes de sous-totaux.
UNION
ROLLUPISSUB Appariement les groupes de cumul avec la colonne ajoutée par
TOTAL ROLLUPADDISSUBTOTAL.
Renvoie une table à une seule ligne avec les nouvelles renvoie une table avec les mêmes colonnes et toutes les lignes
ROW VALUES
colonnes spécifiées par les expressions DAX. de la table (y compris les doublons) avec la ligne vide
supplémentaire causée par une relation non valide, le cas
Renvoie une table avec les colonnes sélectionnées de la table échéant.
SELECTCOLUMNS
et les nouvelles colonnes spécifiées par les expressions DAX.
Renvoie une table qui représente la semi-jointure de deux
SUBSTITUEWITH
INDEX

SUMMARIZE
spécifiées.
Crée un tableau récapitulatif pour les totaux demandés sur un
SUMMARIZECOLUMNS
ensemble de groupes.

DW & BI -105- A. El Qadi DW & BI -106- A. El Qadi

4.7. Fonctions de relation 4.8. Contexte


Les fonctions de cette catégorie permet
relations entre les tables.
Fonction Description Il
CROSSFILTER Spécifie la direction du filtrage croisé à utiliser dans un calcul pour une formule peuvent changer pour refléter la sélection de ligne ou de cellule
relation existant entre deux colonnes. actuelle, ainsi que toutes les données associées.
RELATED
RELATEDTABLE Évalue une expression de table dans un contexte modifié par les filtres
spécifiés. Il existe deux types de contextes dans DAX, le contexte de ligne et le contexte
USERELATIONSHIP Spécifie la relation à utiliser dans un calcul spécifique, comme celle qui de filtre.
existe entre columnName1 et columnName2.

DW & BI -107- A. El Qadi DW & BI -108- A. El Qadi


4.8.1. Contexte de ligne Le langage DAX inclut des fonctions qui itèrent des calculs sur une table. Ces
fonctions peuvent avoir plusieurs lignes actuelles et contextes de ligne
tion qui actuelle.
applique des filtres pour identifier une ligne unique dans une table. Par exemple, parcourir la totalité de la table Sales, remplie de transactions
impliquant plusieurs produits, et rechercher la quantité maximale commandée
La fonction applique par nature un contexte de ligne pour chaque ligne de la
table sur laquelle elle filtre.
=MAXX(FILTER(Sales,[ProdKey]=EARLIER([ProdKey])),
Sales[OrderQty])
Par exemple, La formule = RELATED('Region'[TaxeRate]) La fonction EARLIER
Utilise
associée, selon la région vers laquelle la commande a été expédiée.
valeur de la région
dans la table actuelle, la recherche de la région dans la table associée, puis

Contexte de ligne multiple

DW & BI -109- A. El Qadi DW & BI -110- A. El Qadi

4.8.2. Contexte de filtre Par exemple, examinons la formule suivante :


Le contexte de filtre est comme un ou plusieurs filtres appliqués dans un
calcul qui détermine un résultat ou une valeur.

Le contexte de filtre est facilement visible dans les rapports. Cette formule inclut les éléments syntaxiques suivants :
A. Le nom de la mesure, Store Sales.
Par exemple, quand on ajoute TotalCost à une visualisation, puis qu B. = ), qui indique le début de la formule.
ajoute Year et Region, on définit un contexte de filtre qui sélectionne un C. La fonction CALCULATE
sous- dans un contexte modifié par les filtres spécifiés.
données. D. Des parenthèses (), qui entourent une expression contenant un ou plusieurs
arguments.
Le contexte de filtre peut également être appliqué dans une formule DAX en E. Une mesure [Total Sales]
Total Sales possède la formule : =SUM(Sales[SalesAmount]).
définissant un filtre av
F. Une virgule (, gument de
filtre.
G. La colonne complètement référencée, Channel[ChannelName]
contexte de ligne. Chaque ligne de cette colonne spécifie un canal, comme
Store ou Online.
H. La valeur particulière, Store filtre.
DW & BI -111- A. El Qadi DW & BI -112- A. El Qadi

Vous aimerez peut-être aussi