Nous souhaitons disposer d’un segment qui filtre le nombre de lignes retournées par Power Query. Ce lignes sont d’abord filtrées sur le serveur (SELECT TOP X dans la clause SQL) avant d’être envoyé à Power BI. Cela économise l’usage du réseau.
Cette fonctionnalité nécessite de se connecter à une base de données (pas de fichier Excel) et en mode Direct Query.
Nous sommes dans un rapport Power BI Desktop avec une connexion à une base de données SQL Server en mode Direct Query.
Options > Fonctionnalités en préversion > cocher Paramètres de requêtes M dynamiques
Lancer Power Query
Créer un paramètre :
Nom : paramTopRow
Type : Nombre décimal
Valeur actuelle : 15
Créer une table qui contiendra les valeurs du slicer. Vous pouvez vous connecter à une table existante (Excel ou autre format) ou créer une table ad hoc.
a. Dans Excel : créer un Tableau et saisir les valeurs :
b. Copier tout le Tableau
c. Dans Power Query, Accueil > Entrée des données
d. Coller, nommer la table “Top N” et valider.
Quitter Query (Accueil > Fermer et appliquer)
De retour dans Power BI Desktop, afficher le modèle de données :
Sélectionner le champ TopRows de la table “Top N”, puis dans le volet Propriétés > Options avancée, sélectionner paramToRows dans la liste Lier au paramètre.