Fonction TOPN (DAX)
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
n_value
Nombre de lignes à retourner. Toute expression DAX qui retourne une valeur scalaire unique, où l'expression doit être évaluée plusieurs fois (pour chaque ligne/contexte).Consultez la section Notes pour comprendre les circonstances dans lesquelles le nombre de lignes retourné peut éventuellement être supérieur à n_value.
Consultez la section Notes pour comprendre les circonstances dans lesquelles une table vide est retournée.
table
Toute expression DAX qui retourne une table de données à partir de laquelle les « n » premières lignes sont à extraire.orderBy_expression
(Facultatif) Toute expression DAX où la valeur de résultat est utilisée pour trier la table et est évaluée pour chaque ligne de table.order
(Facultatif) Valeur qui spécifie le mode de tri des valeurs de orderBy_expression, croissant ou décroissant :valeur
autre valeur
Description
0 (zéro)
FALSE
Tri dans l'ordre décroissant des valeurs de order_by.
Il s'agit de la valeur par défaut lorsque le paramètre order est omis.
1
TRUE
Classement dans l'ordre croissant des valeurs de order_by.
Valeur de retour
Table avec les N premières lignes de table ou table vide si n_value est inférieur ou égal à 0 (zéro). Les lignes ne sont pas nécessairement triées dans un ordre particulier.
Notes
En cas d'égalité entre des valeurs de order_by, à la N-ième ligne de la table, toutes les lignes à égalité sont retournées. Ensuite, lorsqu'il y a égalité à 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 pas l'ordre de tri des résultats.
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]))