Min

Min() Funkcja zwraca najniższą wartość liczbową z agregowanych danych. Podanie argumentu rank n pozwala na znalezienie n-tej najniższej wartości.

Porada: Warto zapoznać się z informacjami na temat funkcji FirstSortedValue i rangemin, których działanie jest podobne do działania funkcji Min.

Syntax:  

Min([{SetExpression}] [TOTAL [<fld {,fld}>]] expr [,rank])

Return data type: liczbowy

Arguments:  

Argument Opis
expr Wyrażenie lub pole zawierające mierzone dane.
rank Wartość domyślna argumentu rank wynosi 1, co odpowiada najwyższej wartości. Dla argumentu rank równego 2 zostanie zwrócona druga wartość po wartości najwyższej. Dla argumentu rank równego 3 zostanie zwrócona trzecia wartość po wartości najwyższej itd.
SetExpression Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych rekordów zdefiniowanym przez daną selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów.
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.

Po kwalifikatorze TOTAL może następować lista zawierająca co najmniej jedną nazwę pola w nawiasach trójkątnych <fld>. Te nazwy pól powinny być podzbiorem zmiennych wymiaru wykresu.

Określenie zakresu agregacji

Examples and results:  

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD - 25
Canutility AA 8 15
Canutility CC - 19
Uwaga: Funkcja Min() musi zwracać wartość inną niż NULL z szeregu wartości określonych przez ewentualne wyrażenie. Ze względu na fakt, że w podanych przykładach wśród danych występują wartości NULL, funkcja ta zwraca pierwszą wartość niebędącą wartością NULL określoną na podstawie danego wyrażenia.
Przykłady Wyniki

Min(UnitSales)

2, ponieważ jest to najniższa wartość niebędąca wartością NULL w kolumnie UnitSales.

Wartość zamówienia jest obliczana na podstawie liczby sprzedanych jednostek podanej w kolumnie (UnitSales) pomnożonej przez cenę jednostkową.

Min(UnitSales*UnitPrice)

40, ponieważ jest to najniższa wartość niebędąca wartością NULL wynikająca z obliczeń dotyczących wszystkich pozostałych danych w ramach formuły: UnitSales*UnitPrice.

Min(UnitSales, 2)

4, czyli druga najniższa wartość (po wartościachNULL).

Min(TOTAL UnitSales)

2, ponieważ kwalifikator TOTAL informuje o tym, że znaleziono najniższą możliwą wartość bez uwzględnienia wymiarów wykresu. W przypadku wykresu z wymiarem Customer kwalifikator TOTAL zapewnia, że zwracana jest minimalna wartość z całego zestawu danych, a nie minimalna wartość z kolumny UnitSales dla każdego klienta.

Wybierz Customer B.

Min({1} TOTAL UnitSales)

40, niezależnie od dokonanej selekcji, ponieważ wyrażenie Set Analysis {1} określa zestaw rekordów, które zostaną ocenione w kategorii ALL, bez względu na dokonaną selekcję.

Dane zastosowane w przykładach:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');