Below — funkcja wykresu
Funkcja Below() oblicza wartość wyrażenia w wierszu znajdującym się pod bieżącym wierszem w ramach segmentu kolumny w tabeli. Wiersz wybierany do obliczeń zależy od wartości opcjonalnego parametru offset — domyślnie jest to wiersz bezpośrednio po wierszu bieżącym. W przypadku wykresów niebędących tabelami funkcja Below() oblicza wartość dla wiersza znajdującego się bezpośrednio po wierszu bieżącym w tabeli prostej odpowiadającej wykresowi.
Składnia:
Below([TOTAL] expr [ , offset [,count ]])
Typ zwracanych danych: dual
Argumenty:
Argument | Opis |
---|---|
expr | Wyrażenie lub pole zawierające mierzone dane. |
offset |
Określenie wartości offsetn większej niż 1 umożliwia przeniesienie oceny wyrażenia o n wierszy w dół z bieżącego wiersza. Podanie argumentu offset równego 0 spowoduje ocenę wartości wyrażenia w bieżącym wierszu. Określenie ujemnej wartości argumentu offset sprawia, że funkcja Below działa tak samo jak funkcja Above z odpowiednią dodatnią wartością argumentu offset. |
count |
Jeśli trzeci parametr count będzie większy od 1, funkcja zwróci zakres wartości count, po jednej dla każdego z count wierszy tabeli liczonych w dół od pierwotnej komórki. W tej postaci funkcja może być używana jako argument dla specjalnych funkcji zakresu. Funkcje zakresu |
TOTAL |
Jeśli tabela jest jednowymiarowa lub jako argument zostanie podany kwalifikator TOTAL, bieżący segment kolumny jest zawsze równy całej kolumnie. |
W przypadku ostatniego wiersza segmentu kolumny zostanie zwrócona wartość NULL, ponieważ nie ma żadnego wiersza pod nim.
Ograniczenia:
-
Wywołania rekurencyjne będą zwracać NULL.
-
Sortowanie według wartości Y w wykresach albo sortowanie według kolumn wyrażeń w tabelach jest niedozwolone, jeśli w dowolnym z wyrażeń wykresu używana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Gdy użyjesz tej funkcji wykresu w wizualizacji lub tabeli, sortowanie wizualizacji powróci do posortowanych danych wejściowych tej funkcji.
Przykłady i wyniki:
Przykład 1:
Na zrzucie ekranu w przykładzie 1 widoczne jest, że stosowna wizualizacja tabeli została utworzona na podstawie wymiaru Customer oraz miar: Sum(Sales) i Below(Sum(Sales)).
W kolumnie Below(Sum(Sales)) zwracane są wartościNULL dla wiersza wymiaru Customer zawierającego wartość Divadip, ponieważ nie ma żadnego wiersza pod tym wierszem. Wynik dla klienta Canutility pokazuje wartość Sum(Sales) dla klienta Divadip, wynik dla klienta Betacab pokazuje wartość Sum(Sales) dla klienta Canutility itd.
W tabeli tej przedstawione są również bardziej złożone miary, które znajdują się w kolumnach zatytułowanych Sum(Sales)+Below(Sum(Sales)), Below +Offset 3 i Higher?. Wyrażenia te działają w sposób opisany w poniższych sekcjach.
W kolumnie zatytułowanej Sum(Sales)+Below(Sum(Sales)) wiersz klienta Astrida pokazuje wynik dodawania wartości Sum(Sales) z wierszy klientów Betacab i Astrida (539+587). Wynik w wierszu klienta Betacab pokazuje wynik dodawania wartości Sum(Sales) z wierszy klientów Canutility i Betacab (539+683).
Miara zatytułowana Below +Offset 3 utworzona za pomocą wyrażenia Sum(Sales)+Below(Sum(Sales), 3) ma argument offset o wartości 3, co oznacza, że pobiera wartość z wiersza znajdującego się o trzy wiersze poniżej bieżącego wiersza. W efekcie jej działania wartość Sum(Sales) dla bieżącego wiersza w kolumnie Customer jest dodawana do wartości wiersza w kolumnie Customer znajdującej się o trzy wiersze poniżej. Dla ostatnich trzech wierszy w kolumnie Customer zwracane są wartości null.
Miara zatytułowana Higher? została utworzona na podstawie wyrażenia IF(Sum(Sales)>Below(Sum(Sales)), 'Higher'). Wyrażenie to porównuje wartości z bieżącego wiersza w mierze Sum(Sales) z wartościami z wiersza poniżej. Jeśli wartość w bieżącym wierszu jest większa, zwracany jest tekst Higher.
W przypadku wykresów wielowymiarowych wyniki wyrażeń zawierających funkcje Above, Below, Top i Bottom są zależne od kolejności sortowania wymiarów kolumn przez Qlik Sense. Qlik Sense oblicza wartości funkcji na podstawie segmentów kolumny uzyskanych z wymiaru sortowanego jako ostatni. Kolejność sortowania kolumn określa się w panelu właściwości w sekcji Sortowanie i może ona być inna od kolejności wyświetlania kolumn w tabeli.Więcej informacji na ten temat zawiera przykład 2 w funkcji Above.
Przykład 2: |
Wynik | ||
---|---|---|---|
Funkcję Below można stosować jako źródło danych wejściowych dla funkcji zakresu. Na przykład: RangeAvg (Below(Sum(Sales),1,3)). |
W funkcji Below() argument offset ma wartość 1, a argument count ma wartość 3. Funkcja ta znajduje wyniki wyrażenia Sum(Sales) w trzech wierszach znajdujących się bezpośrednio pod bieżącym wierszem w segmencie kolumny (o ile jest tam wiersz). Wspomniane trzy wartości są stosowane jako dane wejściowe dla funkcji RangeAvg(), która znajduje średnią wartości w określonym szeregu liczbowym. Tabela z kolumną Customer jako wymiarem zwraca następujące wyniki dla wyrażenia RangeAvg(). |
||
|
Dane zastosowane w przykładach: