Filtrer les Données et les Tables

Filtrer les données et les tables dans Power BI est un concept fondamental grâce auquel l'utilisateur pourra remplir tous ses objectifs d'analyses et de visualisation fluide et efficace de ses données regroupées ou pas, par catégories, par dates, par périodes ou encore par types.

Ne pas savoir filtrer dans Power BI est un handicap majeur à la livraison d'un rapport ou d'un tableau de bord dont l'objectif principal et de faire prendre rapidement les bonnes décisions aux personnes en charge du pilotage de l'activité analysée.

Les possibilités de filtres dans Power BI sont multiples et variées, peut-être même trop nombreuses, mais il faut vraiment en prendre toute la mesure pour ne pas se noyer entre toutes les solutions de filtrage qui permettent parfois d'arriver au même résultat.

Prenons un exemple simple d'une table à 2 colonnes nommée "Table" dont la colonne nommée "Quantité" doit être filtrée suivant la valeur particulière "Catégorie A" de la colonne "Catégorie" comptant 3 catégories distinctes A, B, et C pour obtenir la somme des quantités pour la seule Catégorie A.

Solution 1, le visuel Table de données : filtrer par l'intermédiaire du visuel "Table" du volet vertical de droite "Visualisations" en glissant les colonnes "Catégorie" et "Quantité" dans le champ nommé "Colonnes" du visuel. Cela fera apparaitre en première colonne les 3 catégories A, B et C sur 3 lignes distinctes et en deuxième colonne la somme automatique des quantités pour chacune des catégories, dont celle de la catégorie A, exactement comme avec un Tableau Croisé Dynamique dans Excel où l'on glisserait le champ "Catégorie" dans la zone Lignes et le champ "Quantité" dans la zone Valeurs. Un simple TCD agit donc aussi comme un filtre.

Solution 2, le volet vertical Filtres : filtrer par l'intermédiaire du visuel "Carte" ou "Carte à plusieurs lignes" en glissant la seule colonne "Quantité" dans le champ nommé également "Champs" du visuel. La somme totale des quantités apparaît instantanément. Il suffit alors de faire glisser la colonne "Catégorie" dans le volet vertical de droite "Filtres", dans la zone "Ajouter des champs de données" de la partie "Filtres sur ce visuel", puis de sélectionner la Catégorie A par un clic pour que la valeur du visuel Carte affiche le même total que dans la solution 1. La même action dans les autres parties "Filtres dans cette page" ou "Filtres dans toutes les pages" du même ruban vertical Filtres provoquerait le même filtrage sur tous les visuels de la page ou sur tous les visuels des toutes les pages de rapport. 

Solution 3, les filtres croisés : chaque visuel d'une page de rapport agit par défaut comme filtre des autres visuels de la page. C'est la grande force de Power BI par rapport à Excel qui oblige à créer des segments spécifiques pour trier les tableaux et les graphiques croisés dynamiques. Dans Power BI on peut donc concevoir les visuels d'une même page pour qu'ils puissent se filtrer les uns les autres sans utiliser le volet Filtres ni de mesures complémentaires. Dans notre exemple, il suffira donc de créer un visuel quelconque croisant les Catégories et les Quantités puis un autre visuel contenant uniquement les Catégories pour filtrer le premier sur la seule Catégorie A. Les interactions entre chaque visuel d'une page peuvent être modifiées une à une grâce au premier bouton "Modifier les interactions" du ruban horizontal du menu Format .

Solution 4, les mesures DAX : la richesse du langage DAX est telle, et particulièrement pour filtrer les données, que plusieurs formules différentes permettent d'arriver au même résultat que précédemment :

= CALCULATE ( SUM(Quantité) , Catégorie = "Catégorie A" )

= SUMX ( FILTER( Table , Catégorie = "Catégorie A" ) , Quantité )

= SUMX ( CALCULATETABLE( Table , Catégorie = "Catégorie A" ) , Quantité )

= CALCULATE ( SUM(Quantité) , FILTER( Table , Catégorie = "Catégorie A") )

Et on pourrait continuer comme cela presque sans fin tant les possibilités sont grandes avec le langage DAX inclus dans Power BI et dans Power Pivot pour Excel.

DAX comprend également des fonctions d’intelligence temporelle qui vous permettent de manipuler des données en utilisant des périodes de temps (jours, mois, trimestres et années, entre autres), puis de générer et comparer des calculs sur ces périodes. Il s'agit donc aussi de fonctions de filtrage, mais sur le temps uniquement.

Remarque importante : avant d’utiliser ces fonctions Time Intelligence, assurez-vous de marquer l’une des tables contenant la colonne de date comme Table de dates principale. Il est d'ailleurs fortement recommandé d'associer à tous vos jeux de données une table de dates principale allant jour après jour de la date la plus ancienne du jeu de données à la date la plus récente, ceci automatiquement avec la fonction CALENDARAUTO.

Les fonctions DAX d'intelligence temporelle les plus utilisées sont :

Etape suivante : Visualiser les données.

Conception Jean-Louis Maso
Microsoft Certified Expert