Magazine Informatique

Power Pivot: Leçon de DAX no.4 (FILTER/DISTINCT)

Publié le 19 octobre 2015 par Sopmar01 @mon_cher_watson

Cet article fait suite aux articles Power Pivot: Leçon de DAX no.1 (fonctions X)Power Pivot: Leçon de DAX no.2 (RELATED)  et Power Pivot: Leçon de DAX no.3 (COUNTROWS). Il vise à démontrer comment utiliser les fonctions FILTER et DISTINCT en langage DAX (Data Analysis Expression), soit le langage utilisé par Power Pivot.

Définition des fonctions DAX

Filter (Table, Condition)

Retourne les résultats de la table en question lorsque la condition est VRAIE.
Retourne toutes les colonnes de la table, avec les lignes qui répondent à la condition.

Par exemple: FILTER(InternetSales, RELATED(SalesTerritory[SalesTerritoryCountry])<>USA) retourne les ventes pour les territoires autres que les États-Unis.

Distinct(Column)

Retourne une table comprenant les données « uniques » dans la colonne spécifiée (sans doublons).

Par exemple: =DISTINCT(FactSales[StoreKey]) retourne une table avec tous les ID uniques de magasins.

Ces fonctions retournent une table et doivent donc être utilisées de façon imbriquée dans des fonctions d’aggrégation.

Exemple de la fonction Filter: Somme des ventes en ligne

Dans l’exemple ci-bas, la fonction FILTER est utilisée comme filtre sur la colonne # canal de la table de ventes. Ainsi, la fonction retourne une table avec toutes les colonnes de la table de ventes, mais avec seulement les lignes qui comprennent le numéro de canal 1. Ensuite, on effectue une somme sur la colonne Ventes de la table résultante. On obtient donc les ventes du canal 1, soit les ventes en ligne.

FILTER

Exemple de la fonction Distinct: Nombre de canaux

Dans l’article, Power Pivot: Leçon de DAX no.3 (COUNTROWS), nous avons présenté l’exemple suivant, qui utilise la fonction COUNTROWS, combinée à la fonction VALUES pour déterminer le nombre de canaux.

COUNTROWS DAX

Il serait possible d’obtenir la même mesure en utilisant la fonction FILTER.

Countrows and Distinct

Ainsi, on constate qu’autant la fonction DISTINCT que la fonction VALUES, permet de retourner les valeurs distinctes d’une colonne. Ceci est vrai, à une exception près, qui est expliqué au prochain point.

Différence entre DISTINCT and VALUES

Marco Russo explique la différence subtile qui existe entre la fonction DISTINCT et la fonction VALUES dans son article Difference between DISTINCT and VALUES in DAX. En résumé, on constate, sur l’image suivante, que la fonction DISTINCT ramène le nombre de valeurs distinctes pour chacune des dimensions d’une table alors que la fonction VALUES retourne les valeurs distinctes pour chacue des dimensions de cette table et ajoute le nombre de valeurs distinctes qui ne sont pas associées à une dimension. Ce serait la seule différence qui existe entre ces deux fonctions.

Marco Russo

NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre 13 formations, réparties dans 4 catégories: Tableaux de bord, Modélisation financière, Finance corporative et Analyse et modélisation de données. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel.

Consulter la liste des formations offertes

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte