TOPN

Retourne les N premières lignes de la table spécifiée.

Syntaxe

TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])  

Paramètres

Nombre de lignes à retourner. Il s’agit de toute expression DAX qui retourne une valeur scalaire unique quand l’expression doit être évaluée plusieurs fois (pour chaque ligne/contexte).

Consultez la section Remarques pour comprendre quand le nombre de lignes retournées pourrait être supérieur à n_value.

Consultez la section Remarques pour comprendre quand une table vide est retournée.

table Toute expression DAX qui retourne une table de données dont sont extraites les « n » premières lignes.

orderBy_expression
Toute expression DAX où la valeur obtenue est utilisée pour trier la table et est évaluée pour chaque ligne de la table.

order (Facultatif) Valeur qui spécifie la façon dont les valeurs orderBy_expression sont triées, par ordre croissant ou décroissant :

value Valeur alternative Description
0 (zéro) FALSE Trie par ordre décroissant les valeurs order_by.

Il s’agit de la valeur par défaut quand le paramètre order est omis.
1 TRUE Classe dans l’ordre croissant de order_by.

Valeur renvoyée

Une table avec les N premières lignes de table ou une table vide si la valeur n_value est inférieure ou égale à 0 (zéro). Les lignes ne sont pas nécessairement triées dans un ordre particulier.

Notes

  • En cas de lien dans les valeurs order_by, à la N-ième ligne de la table, toutes les lignes liées sont retournées. Ensuite, lorsqu’il y a des liens à la N-ième ligne, la fonction peut retourner plus de n lignes.

  • Si n_value est inférieur ou égal à 0 (zéro), TOPN retourne une table vide.

  • TOPN ne garantit aucun ordre de tri des résultats.

  • Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).

 Exemple

L’exemple suivant crée une mesure avec les ventes des 10 produits les plus vendus.

= SUMX(TOPN(10, SUMMARIZE(Product, [ProductKey], "TotalSales", SUMX(RELATED(InternetSales_USD[SalesAmount_USD]), InternetSales_USD[SalesAmount_USD]) + SUMX(RELATED(ResellerSales_USD[SalesAmount_USD]), ResellerSales_USD[SalesAmount_USD]))