Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Below

Below() Funkcja oblicza wartość wyrażenia w wierszu znajdującym się pod bieżącym wierszem w obrębie segmentu kolumny w tabeli. Wiersz wybierany do obliczeń zależy od wartości opcjonalnego parametru offset — domyślnie jest to wiersz bezpośrednio po bieżącym. W przypadku wykresów niebędących tabelami funkcja Below() oblicza wartość dla wiersza znajdującego się bezpośrednio po bieżącym w tabeli prostej odpowiadającej wykresowi.

Składnia:  

Below([TOTAL] expression [ , offset [,count ]])

Typ zwracanych danych: podwójny

Argumenty:  

  • expr: Wyrażenie lub pole zawierające mierzone dane.
  • offset: Określenie wartości offset n większej niż 0 powoduje przeniesienie oceny wyrażenia o n wierszy w górę od bieżącego wiersza. Podanie argumentu offset równego 0 spowoduje obliczenie wartości wyrażenia dla bieżącego wiersza. Określenie ujemnej wartości argumentu offset sprawia, że funkcja Above działa tak samo jak funkcja Below z odpowiednią dodatnią wartością argumentu offset.
  • count: Jeśli trzeci argument 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 górę 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.

    Określenie zakresu agregacji

W przypadku ostatniego wiersza segmentu kolumny zostanie zwrócona wartość NULL, ponieważ nie ma żadnego wiersza pod nim.

InformacjaSegment kolumny definiuje się jako ciągły podzbiór komórek o tych samych wartościach dla wymiarów w bieżącej kolejności sortowania. Międzywierszowe funkcje wykresu są obliczane w segmencie kolumny z pominięciem skrajnego prawego wymiaru w równoważnym wykresie tabeli prostej. Jeśli wykres ma tylko jeden wymiar lub jeśli podano kwalifikator TOTAL, wartość wyrażenia jest obliczana na pełnej tabeli.
InformacjaJeśli tabela lub równoważnik tabeli zawiera wiele wymiarów pionowych, wówczas segment bieżącej kolumny będzie zawierał tylko wiersze z takimi samymi wartościami we wszystkich kolumnach wymiaru jak bieżący wiersz, ale bez kolumny przedstawiającej ostatni wymiar w kolejności sortowania między polami.

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, gdy w dowolnym z wyrażeń wykresu stosowana jest ta funkcja wykresu. W takiej sytuacji te opcje sortowania są automatycznie wyłączone. Kiedy używasz tej funkcji wykresu w wizualizacji albo tabeli, sortowanie wizualizacji zostanie przywrócone do sortowania danych wejściowych tej funkcji.

Przykłady i wyniki:  

Przykład 1:  

Przykładowe dane wyjściowe tabeli
Customer Sum(Sales) Below(Sum(Sales)) Sum(Sales) + Below(Sum(Sales)) Below offset 3 Higher?
- 2566 - - 1344 -
Astrida 587 539 1126 - Higher
Betacab 539 683 1222 - -
Canutility 683 757 1440 - -
Divadip 757 - - - -

W przypadku wykresu tabelarycznego przedstawionego w Przykładzie 1 tabela jest tworzona z 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.

WskazówkaTej funkcji można też używać w wykresach innego rodzaju niż tabele, na przykład wykresach słupkowych.
WskazówkaW przypadku innych typów wykresu należy przekształcić wykres w odpowiadającą mu tabelę prostą, aby umożliwić łatwe interpretowanie wiersza, do którego odnosi się funkcja.

W przypadku wykresów wielowymiarowych wyniki wyrażeń zawierających funkcje Above, Below, Top i Bottom są zależne od kolejności posortowania wymiarów kolumn przez QlikView. QlikView oblicza wartości funkcji na podstawie segmentów kolumny uzyskanych z wymiaru sortowanego jako ostatni. Kolejność sortowania kolumn określa się w polu Sortowanie i może ona być inna od kolejności wyświetlania kolumn w tabeli.Dodatkowe informacje zawiera Przykład 2 w opisie funkcji Above.

Przykład 2:  

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 jest ustawiony na 1, a argument count jest ustawiony na 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.

Przykładowe dane wyjściowe tabeli
Customer RangeAvg (Below(Sum(Sales),1,3))
Astrida 659.67
Betacab 720
Canutility 757
Divadip -

Dane zastosowane w przykładach:

Monthnames:

LOAD * INLINE [

Month, Monthnumber

Jan, 1

Feb, 2

Mar, 3

Apr, 4

May, 5

Jun, 6

Jul, 7

Aug, 8

Sep, 9

Oct, 10

Nov, 11

Dec, 12

];

Sales2013:

crosstable (Month, Sales) LOAD * inline [

Customer|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec

Astrida|46|60|70|13|78|20|45|65|78|12|78|22

Betacab|65|56|22|79|12|56|45|24|32|78|55|15

Canutility|77|68|34|91|24|68|57|36|44|90|67|27

Divadip|57|36|44|90|67|27|57|68|47|90|80|94

] (delimiter is '|');

Aby miesiące były sortowane we właściwej kolejności, podczas tworzenia arkuszy przejdź do karty Sort we właściwościach wykresu i zaznacz pole wyboru Expression w sekcji Sort by. W polu wyrażenia podaj Monthnumber.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com