TOPN-Funktion (DAX)
Gibt die obersten N Zeilen der angegebenen Tabelle zurück.
Syntax
TOPN(<n_value>, <table>, <orderBy_expression>, [<order>[, <orderBy_expression>, [<order>]]…])
Parameter
n_value
Die Anzahl der zurückzugebenden Zeilen. Ist ein DAX-Ausdruck, der einen einzelnen Skalarwert zurückgibt, in dem der Ausdruck mehrmals ausgewertet wird (für jede Zeile/Kontext).Im Abschnitt mit Hinweisen wird veranschaulicht, wann die Anzahl zurückgegebener Zeilen möglicherweise größer als n_value sein kann.
Im Abschnitt mit Hinweisen wird erläutert, wann eine leere Tabelle zurückgegeben wird.
table
Ein DAX-Ausdruck, der eine Tabelle mit Daten zurückgibt, aus der die oberen 'n' Zeilen extrahiert werden sollen.orderBy_expression
(Optional) Ein DAX-Ausdruck, in dem die Tabelle mithilfe des Ergebniswerts sortiert und der für jede Zeile von table ausgewertet wird.order
(Optional) Ein Wert, der angibt, wie orderBy_expression-Werte sortiert werden, in aufsteigender oder absteigender Reihenfolge:value
alternativer Wert
Beschreibung
0 (Null)
FALSE
Sortiert in absteigender Reihenfolge der Werte von order_by.
Dies ist der Standardwert, wenn der order-Parameter ausgelassen wird.
1
TRUE
Ränge nach aufsteigender Reihenfolge von order_by.
Rückgabewert
Eine Tabelle mit den obersten N Zeilen von table oder eine leere Tabelle, wenn n_value 0 (null) oder weniger ist. Zeilen werden nicht unbedingt in einer bestimmten Reihenfolge sortiert.
Hinweise
Wenn es in order_by-Werten ein gleichwertiges Objekt in der N-ten Zeile der Tabelle gibt, werden alle gleichwertigen Zeilen zurückgegeben. Falls es gleichwertige Objekte in der N-ten Zeile gibt, gibt die Funktion unter Umständen mehr als n Zeilen zurück.
Wenn n_value 0 (null) oder weniger ist, gibt TOPN eine leere Tabelle zurück.
TOPN garantiert keine Sortierreihenfolge für die Ergebnisse.
Beispiel
Im folgenden Beispiel wird ein Measure mit den Verkäufen der obersten 10 verkauften Produkte erstellt.
=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]))