TOPN
s’applique à :colonne calculée
table calculée
mesure
calcul visuel
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
Paramètre | Définition |
---|---|
N_Value |
Nombre de lignes à retourner. Toute expression DAX qui retourne une valeur scalaire, où l’expression doit être évaluée plusieurs fois (pour chaque ligne/contexte). Consultez les remarques pour mieux comprendre quand le nombre de lignes retournées peut être supérieur à n_value . |
Table |
Toute expression DAX qui retourne une table de données à partir de laquelle extraire les lignes supérieures « n ». Consultez Remarques pour mieux comprendre quand une table vide est retournée. |
OrderBy_Expression |
(Facultatif) Toute expression DAX où la valeur de résultat est utilisée pour trier la table et évaluée pour chaque ligne de table . |
Order |
(Facultatif) Valeur qui spécifie comment trier les valeurs d'OrderBy_Expression :- 0 (zéro) ou FALSE . Trie dans l’ordre décroissant des valeurs de Order . Valeur par défaut lorsque Order paramètre est omis. - 1 ou TRUE . Rangs dans l’ordre croissant de OrderBy . |
Valeur de retour
Tableau avec les lignes N supérieures de Table
ou d’une table vide si N_Value
est de 0 (zéro) ou moins. Les lignes ne sont triées dans aucun ordre particulier.
Notes
S’il existe un lien, dans
Order_By
valeurs, à 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 égal à 0 (zéro) ou inférieur, TOPN retourne une table vide.
TOPN ne garantit aucun ordre de tri pour les résultats.
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Exemple
La formule de mesure suivante retourne les 10 premiers produits vendus par montant de vente.
= SUMX(
TOPN(
10,
SUMMARIZE(
InternetSales,
InternetSales[ProductKey],
"TotalSales", SUM(InternetSales[SalesAmount])
),
[TotalSales], DESC
),
[TotalSales]
)