Partager via


TOPN

s’applique à :colonne calculéetable calculéemesurecalcul 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]
)