Min — funkcja wykresu

Funkcja Min() zwraca najniższą wartość 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 najniższej wartości. Podanie wartości 2 argumentu rank spowoduje zwrócenie drugiej wartości po najniższej. Dla argumentu rank równego 3 zostanie zwrócona trzecia wartość po najniższej itd.
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.
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.

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ściach NULL).

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)

2, niezależnie od dokonanego wyboru Customer B.

Wyrażenie {1} analizy zestawów (Set Analysis) 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 '|');