Przeskocz do zawartości głównej

Przykłady funkcji międzyrekordowych wykresu

NA TEJ STRONIE

Przykłady funkcji międzyrekordowych wykresu

Przykłady funkcji top

W podanych przykładach wykorzystano funkcję top, ale można je podobnie zastosować do funkcji bottom, first i last. Należy jednak pamiętać, że funkcje first i last dotyczą tylko tabel przestawnych.

Example 1:  

Przeanalizujmy poniższą tabelę prostą przedstawiającą użycie funkcji top w tabeli jednowymiarowej:

Example table image of one dimensional straight table with top function
Przykładowa tabela: Jednowymiarowa tabela prosta z funkcją top
Month sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- 21 3 700%
1 3 3 100%
2 7 3 233%
3 11 3 367%

W przypadku jednego wymiaru funkcja top będzie zawsze odwoływać się do pierwszego wiersza danych tabeli (wiersz sumy nie jest uwzględniany).

Należy pamiętać, że wyrażenia, w których jest używana funkcja top, będą prawidłowo oceniane także w wierszu sumy, ponieważ wiersz sumy jest jednoznacznie powiązany z określonym segmentem kolumny, w tym przypadku z całą kolumną.

Example 2:  

Poniżej znajduje się dwuwymiarowa tabela prosta posortowana w pierwszej kolejności wg pola Grp.

Example table image of two dimensional straight table with total qualifier
Przykładowa tabela: Dwuwymiarowa tabela prosta z kwalifikatorem total
Month Grp sum(Val) top(sum(Val)) top(total sum(Val))
- - 21 - 1
1 A 1 1 1
2 A 3 1 1
3 A 5 1 1
1 B 2 2 1
2 B 4 2 1
3 B 6 2 1

Funkcja top bez kwalifikatora total zwróci teraz wyrażenie ocenione w górnym wierszu w obrębie najbardziej wewnętrznej grupy sortowania (w tym przypadku wymiaru Grp). Jedna wartość zostanie zwrócona dla Grp = A i jedna dla Grp = B.

Używając kwalifikatora total w przypadku wielowymiarowym, można ponownie odwołać się do bezwzględnego górnego wiersza tabeli z tą samą wartością zwracaną dla wszystkich wierszy. Wyrażenie będzie oczywiście ocenione dla segmentu kolumny obejmującego całą kolumnę.

Ocena wyrażenia z wykorzystaniem funkcji top bez kwalifikatora total zwróci NULL w wierszu sumy, ponieważ nie można go jednoznacznie powiązać z określonym segmentem kolumny.

Teraz przekształcimy powyższą tabelę prostą w tabelę przestawną z wszystkimi sumami aktywnymi.

Example table image of two dimensional pivot table with total qualifier
Przykładowa tabela: Dwuwymiarowa tabela przestawna z kwalifikatorem total
Month Grp sum(Val) top(sum(Val)) top(total sum(Val))
1 A 1 1 1
1 B 2 1 1
1 Suma 3 1 -
2 A 3 3 1
2 B 4 3 1
2 Suma 7 3 -
3 A 5 5 1
3 B 6 5 1
3 Suma 11 5 -
Suma - 21 - 1

Ocena wyrażenia z wykorzystaniem funkcji top bez kwalifikatora total zwróci NULL w wierszu sumy, ponieważ nie można go jednoznacznie powiązać z określonym segmentem kolumny. Jednakże dla każdego segmentu kolumny ocenione zostaną wszystkie sumy częściowe.

W przypadku wyrażenia z wykorzystaniem kwalifikatora total brak będzie wartości w sumach częściowych, ale zwróci ono wartość w wierszu sumy końcowej.

Example 3:  

Przeanalizujmy poniższą tabelę prostą posortowaną według pola Grp:

Example table image of Two dimensional straight table sorted by Grp
Przykładowa tabela: Dwuwymiarowa tabela prosta sortowana według Grp
Month Grp sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- - 21 - -
1 A 1 1 100%
2 A 3 1 300%
3 A 5 1 500%
1 B 2 2 100%
2 B 4 2 200%
3 B 6 2 300%

Możemy kontynuować, zmieniając kolejność sortowania pól wewnętrznych, przez co wykres zostanie posortowany w pierwszej kolejności według pola Month. Tabela będzie teraz wyglądać następująco:

Example table image of Two dimensional straight table sorted by Month
Przykładowa tabela: Dwuwymiarowa tabela prosta sortowana według Month
Month Grp sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- - 21 - -
1 A 1 1 100%
1 B 2 1 200%
2 A 3 3 100%
2 B 4 3 133%
3 A 5 5 100%
3 B 6 5 120%

Przykłady funkcji above

W podanych przykładach wykorzystano funkcję above, ale można je podobnie zastosować do funkcji below, before i after. Należy jednak pamiętać, że funkcje before i after dotyczą tylko tabel przestawnych.

Example 4:  

Przeanalizujmy poniższą tabelę prostą przedstawiającą użycie funkcji above w tabeli jednowymiarowej:

Example table image of one dimensional straight table with Above function
Przykładowa tabela: Jednowymiarowa tabela prosta z funkcją Above
Month sum(Val) above(sum(Val)) sum(Val) / above(sum(Val))
- 21 - -
1 3 - -
2 7 3 233%
3 11 7 157%

W trzeciej kolumnie znajduje się wyrażenie sum(Val) ocenione jeden wiersz powyżej wiersza bieżącego, co można potwierdzić poprzez porównanie wartości sum(val) w drugiej kolumnie. Funkcja above zwraca NULL w pierwszym wierszu, ponieważ nie ma wiersza powyżej, w którym można by ocenić wyrażenie. Funkcja above zawsze zwraca NULL we wszystkich wierszach sumy.

W czwartej kolumnie przedstawiono najbardziej typowe użycie tej funkcji, tzn. do obliczenia różnicy np. między różnymi okresami.

Example 5:  

Przeanalizujmy poniższą dwuwymiarową tabelę przestawną:

Example table image of two dimension pivot table and the effect of total qualifier
Przykładowa tabela: Dwuwymiarowa tabela przestawna z kwalifikatorem total
Grp Month sum(Val) above(sum(Val)) above(total sum(Val))
A 1 1 - -
A 2 3 1 1
A 3 5 3 3
A Suma 9 - -
B 1 2 - 5
B 2 4 2 2
B 3 6 4 4
B Suma 12 - -
Suma - 21 - -

Funkcja above bez kwalifikatora total (trzecia kolumna) będzie działać tylko w obrębie poszczególnych grup sortowania. W górnym wierszu poszczególnych segmentów kolumny będzie zwrócone NULL.

Po dodaniu kwalifikatora total (czwarta kolumna) cała kolumna będzie uznawana za jeden segment kolumny. Tylko w górnym wierszu będzie zwrócone NULL. Wszystkie wiersze sumy są ignorowane i zwracają NULL.

 

Przykłady funkcji RowNo i NoOfRows

W podanym przykładzie wykorzystano funkcje RowNo i NoOfRows, ale można go podobnie zastosować do funkcji ColumnNo i NoOfColumns. Należy jednak pamiętać, że funkcje ColumnNo i NoOfColumns dotyczą tylko tabel przestawnych.

Example 6:  

Przeanalizujmy poniższą dwuwymiarową tabelę przestawną:

Example table image of RowNo and NoOfRows functions
Przykładowa tabela: RowNo i funkcje NoOfRows
Month Grp RowNo() RowNo(total) NoOfRows() NoOfRows(total)
1 A 1 1 2 6
1 B 2 2 2 6
1 Suma 0 - 2 -
2 A 1 3 2 6
2 B 2 4 2 6
2 Suma 0 - 2 -
3 A 1 5 2 6
3 B 2 6 2 6
3 Suma 0 - 2 -
Suma - - 0 - 6
  • Kolumna 3 Funkcja RowNo zwróci numer wiersza w obrębie segmentu kolumny każdej grupy sortowania. W wierszach sum częściowych zwrócony będzie numer wiersza 0, ponieważ sumy te wyraźnie należą do określonego segmentu kolumny. W wierszu sumy końcowej zwrócone zostanie NULL.
  • Kolumna 4 Funkcja RowNo z kwalifikatorem total zwróci numer wiersza w obrębie całej kolumny. W wierszach sum częściowych zwrócone zostanie NULL. W wierszu sumy końcowej zwrócona będzie wartość 0.
  • Kolumna 5 Funkcja NoOfRows zwróci liczbę wierszy danych w obrębie segmentu kolumny każdej grupy sortowania. W wierszach sum częściowych zwrócona będzie ta sama liczba, co w wierszach danych. W wierszu sumy końcowej zwrócone zostanie NULL.
  • Kolumna 6 Funkcja NoOfRows z kwalifikatorem total zwróci liczbę wierszy danych w obrębie całej kolumny, która jest taka sama jak wartość zwrócona w wierszu sumy końcowej. W wierszach sum częściowych zwrócone zostanie NULL.