FirstSortedValue — funkcja wykresu
Funkcja FirstSortedValue() zwraca wartość z wyrażenia określonego w argumencie value, który odpowiada wynikowi sortowania argumentu sort_weight, na przykład nazwie produktu o najniższej cenie jednostkowej. N-ta wartość w kolejności sortowania może zostać określona w argumencie rank. W przypadku uzyskania więcej niż jednej wartości o takim samym wyniku sort_weight dla podanej wartości argumentu rank funkcja zwraca NULL.
Składnia:
FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])
Typ zwracanych danych: wartość podwójna
Argument | Opis |
---|---|
value | Pole danych wyjściowych Funkcja znajduje wartość wyrażenia value odpowiadającą wynikowi sortowania argumentu sort_weight. |
sort_weight | Pole wejściowe Wyrażenie zawierające dane do sortowania. Znajdowana jest pierwsza (najniższa) wartość argumentu sort_weight, na podstawie której określana jest wartość wyrażenia podanego argumentem value. Jeśli przed argumentem sort_weight zostanie podany znak minusa, funkcja zwróci ostatnią (najwyższą) wartość z sortowania. |
rank | Podanie dla parametru rank wartości „n” większej niż 1 spowoduje zwrócenie n-tej wartości w kolejności sortowania. |
SetExpression | Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych wierszy zdefiniowanym przez selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów. |
DISTINCT | Jeśli przed argumentami funkcji występuje słowo DISTINCT, wówczas duplikaty wynikające z wyników obliczenia argumentów funkcji są pomijane. |
TOTAL | Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu. Korzystając z polecenia TOTAL [<fld {.fld}>], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości. |
Przykład | Wynik |
---|---|
FirstSortedValue (Product, UnitPrice) | Zwraca Product z najniższą wartością UnitPrice. |
FirstSortedValue (Product, UnitPrice, 2) | Zwraca Product z drugą najniższą wartością UnitPrice. |
FirstSortedValue (Customer, -UnitPrice, 2) | Zwraca Customer z Product, który ma drugą najwyższą wartość UnitPrice. |
FirstSortedValue (Customer, -UnitPrice*UnitSales, 2) | Zwraca Customer z drugą najwyższą wartością zamówienia sprzedaży, UnitPrice pomnożoną przez UnitSales. |