Analiza zestawów i wyrażenia zestawów
W ramach analizy zestawów można zdefiniować zestaw (grupę) wartości danych, który jest inny niż zwykły zestaw zdefiniowany przez bieżącą selekcję.
Zazwyczaj po dokonaniu selekcji funkcje agregacji, na przykład Sum, Max, Min, Avg i Count, dokonują agregacji w związku z dokonanymi selekcjami: bieżącymi selekcjami. Selekcje takie automatycznie definiują zestaw danych, który będzie poddany agregacji. W ramach analizy zestawów można zdefiniować grupę niezależną od bieżących selekcji. Może to być przydatne wówczas, gdy należy przedstawić konkretną wartość, na przykład udział rynkowy produktu w ramach wszystkich regionów, niezależnie od bieżących selekcji.
Analiza zestawów jest również bardzo przydatna podczas tworzenia różnych typów porównań, na przykład porównania produktów sprzedających się najlepiej i najgorzej lub porównania wartości tego- i ubiegłorocznych.
Przykładowo można z listy wartości w dokumencie wybrać rok 2010. Agregacje będą wówczas oparte na tej selekcji, a na wykresach będą przedstawione tylko wartości tegoroczne. W przypadku dokonania nowej selekcji wykresy zostaną stosownie zaktualizowane. Agregacje są wykonywane na zestawach potencjalnych rekordów zdefiniowanych przez bieżące selekcje. W ramach analizy zestawów można zdefiniować pożądany zestaw niezależnie od dokonanych selekcji.
Tworzenie wyrażeń zestawów
Przed przedstawieniem poszczególnych elementów analizy zestawów należy zasygnalizować różnicę między pojęciami „wyrażenie zestawu” i „analiza zestawów”.
Definiowanie zestawu wartości pól jest określane mianem „definiowania wyrażenia zestawu”, a analizowanie danych przy użyciu wyrażeń zestawów — „analizą zestawów”. W związku z powyższym pozostała część tej sekcji skupia się na wyrażeniach zestawu i ich składnikach.
Oto przykład analizy zestawów: sum( {$<Year={2009}>} Sales ), gdzie {$<Year={2009}>} jest wyrażeniem zestawu.
Wyrażeń zestawu można używać wewnątrz funkcji agregacji i poza nimi. Ujmuje się je w nawiasy klamrowe.
Przykład: Wewnętrzne wyrażenie zestawu
Sum( {$<Year={2021}>} Sales )
Przykład: Zewnętrze wyrażenie zestawu
{<Year={2021}>} Sum(Sales) / Count(distinct Customer)
Więcej informacji o wewnętrznych i zewnętrznych wyrażeniach zestawu zawiera sekcja Wewnętrzne i zewnętrzne wyrażenia zestawu.
Wyrażenie zestawu składa się z kombinacji następujących elementów:
- Identyfikatory. Co najmniej jeden identyfikator definiuje relację między wyrażeniem zestawu i tym, co jest oceniane w ramach pozostałej części wyrażenia. Proste wyrażenie zestawu składa się z jednego identyfikatora, na przykład znaku dolara {$}, który oznacza wszystkie rekordy w bieżącej selekcji.
- Operatory. Jeśli określono więcej niż jeden identyfikator, stosuje się co najmniej jeden operator w celu zawężenia zakresu danych przez określenie sposobu połączenia zestawów danych reprezentowanych przez identyfikatory w celu utworzenia na przykład zestawu podrzędnego albo nadrzędnego.
- Modyfikatory. Do wyrażenia zestawu można dołączyć co najmniej jeden modyfikator, aby zmienić dokonaną selekcję. Modyfikator może być używany samodzielnie lub w celu modyfikacji identyfikatora, aby przefiltrować zestaw danych.
Identyfikatory, modyfikatory i operatory zostały opisane bardziej szczegółowo poniżej.
Identyfikatory
Identyfikatory definiują relację między wyrażeniem zestawu a ocenianymi wartościami pól lub wyrażeniem.
W tym wyrażeniu sum( {$<Year={2009}>} Sales ) identyfikatorem jest znak dolara $, który oznacza, że poddawany ocenie zestaw rekordów obejmuje wszystkie rekordy w bieżącej selekcji. Zestaw ten jest następnie dalej filtrowany przez modyfikator zawarty w tym wyrażeniu zestawu. W bardziej złożonych wyrażeniach zestawu dwa identyfikatory mogą być połączone za pomocą operatora.
W poniższej tabeli przedstawiono kilka typowych identyfikatorów.
Identyfikator | Opis |
---|---|
1 | Reprezentuje cały zestaw wszystkich rekordów w aplikacji niezależnie od dokonanych selekcji. |
$ | Reprezentuje rekordy bieżącej selekcji. To wyrażenie zestawu {$} jest zatem równoważne niepodaniu żadnego wyrażenia zestawu. |
$1 | Reprezentuje poprzednią selekcję. $2 reprezentuje selekcję przed poprzednią selekcją itd. |
$_1 | Reprezentuje następną (kolejną) selekcję. $_2 reprezentuje selekcję po następnej selekcji itd. |
BM01 | Można zastosować dowolny identyfikator zakładki lub dowolną nazwę zakładki. |
MyAltState | Można przywołać selekcje dokonane w stanie alternatywnym przez podanie nazwy tego stanu. |
Przykłady:
Przykład | Wynik |
---|---|
sum ({1} Sales) | Zwraca wartość łącznej sprzedaży dla danego dokumentu. Ignorowane są selekcje, ale nie wymiary. |
sum ({$} Sales) |
Zwraca wartość sprzedaży dla bieżącej selekcji (zwraca to samo co funkcja sum(Sales)). |
sum ({$1} Sales) |
Zwraca wartość sprzedaży dla poprzedniej selekcji. |
sum ({BM01} Sales) |
Zwraca wartość sprzedaży dla zakładki o nazwie BM01. |
Operatory
Operatory służą do uwzględniania, wykluczania albo dzielenia części lub całych zestawów danych. Wszystkie operatory korzystają z zestawów jako operandów i zwracają zestaw jako wynik.
W tej tabeli przedstawiono operatory, które mogą być stosowane w wyrażeniach zestawu.
Operator | Opis |
---|---|
+ | Suma. Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie wiersze, które należą do któregokolwiek z dwóch zestawów wejściowych. |
- | Wykluczenie. Operacja dwuargumentowa zwracająca zestaw wszystkich wierszy, które należą do pierwszego, a nie należą do drugiego z dwóch zestawów wejściowych. W przypadku użycia jako operator jednoargumentowy zwraca dopełnienie zestawu wejściowego. |
* | Część wspólna. Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie wiersze, które należą do obu zestawów wejściowych. |
/ | Różnica symetryczna (XOR). Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie wiersze, które należą tylko do jednego z zestawów wejściowych (ale nie do obu z nich). |
Przykłady:
Przykład | Wynik |
---|---|
sum( {1-$} Sales ) | Zwraca wartość sprzedaży dla wszystkiego, co zostało wykluczone przez selekcję. |
sum( {$*BM01} Sales ) | Zwraca wartość sprzedaży dla części wspólnej selekcji i zakładki BM01. |
sum( {-($+BM01)} Sales ) |
Zwraca wartość sprzedaży wykluczoną przez selekcję i zakładkę BM01. |
Sum({$<Year={2009}>+1<Country={'Sweden'}>} Sales) | Zwraca wartość sprzedaży dla 2009 r. powiązaną z bieżącymi selekcjami i dodaje pełny zestaw danych powiązanych z krajem Sweden we wszystkich latach. |
Modyfikatory
Modyfikatory służą do uzupełniania lub modyfikowania dokonanej selekcji. Modyfikacje takie można zapisać w wyrażeniu zestawu. Modyfikator zawiera co najmniej jedną nazwę pola. Po każdej z takich nazw określana jest co najmniej jedna selekcja, która może zostać dokonany w tym polu. Modyfikatory są ujęte w nawiasy trójkątne, <>.
Modyfikator zestawu modyfikuje selekcję poprzedniego identyfikatora zestawu. Jeśli brak jest odniesienia do identyfikatora zestawu, uznaje się za taki bieżący stan selekcji.
Przykłady:
MyField | Wynik |
---|---|
sum({$<OrderDate = DeliveryDate>} Sales) | Zwraca wartość sprzedaży dla bieżącej selekcji, gdzie OrderDate = DeliveryDate. |
sum({1<Region = {US}>} Sales) |
Zwraca wartość sprzedaży dla regionu US, ignorując bieżącą selekcję. |
sum({$<Region = >} Sales) |
Zwraca wartość sprzedaży dla tej selekcji, ale usuwa selekcję w wymiarze Region. |
sum({<Region = >} Sales) |
Zwraca tę samą wartość co w przykładzie powyżej. Jeśli modyfikowany zestaw zostanie pominięty, zakładany jest stan dziedziczone. |
sum({$<Year={2000}, Region={“U*”}>} Sales) | Zwraca wartość sprzedaży dla bieżącej selekcji, ale z nowymi selekcjami w wymiarach Year i Region. |
Modyfikatory zestawów aby wyświetlić dokładniejszy opis modyfikatorów i sposobu ich stosowania w bardziej złożonych analizach zestawów.