Flaga zachowania pustego zestawu
Można użyć symbolu & (flaga zachowania pustego zestawu) na początku niektórych zewnętrznych wyrażeń zestawu, aby zastąpić niejawne czyszczenie zestawu wyboru podczas analizy użytkownika. Flaga zachowania pustego zestawu umożliwia zmianę sposobu obliczania i reprezentowania agregacji, gdy użytkownicy dokonują wyboru, bez konieczności przepisywania długich, zaawansowanych wyrażeń zestawu.
Na przykład w poniższym wyrażeniu zestawu jest używana flaga zachowania pustego zestawu:
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales )
Tło
Warunki stosowania
Flagi zachowania pustego zestawu można używać w wyrażeniach zestawu, które mają jeden z następujących składników:
-
Co najmniej jedno wewnętrzne i jedno zewnętrzne wyrażenie zestawu
-
Co najmniej dwa zewnętrzne wyrażenia zestawu
Użyj flagi zachowania pustego zestawu, gdy Niejawne czyszczenie zestawu wyboru jest niepożądane.
Niejawne czyszczenie zestawu wyboru
Niejawne czyszczenie zestawu wyboru jest wewnętrznym działaniem, które czasami może być niepożądane dla analizy użytkownika końcowego, gdy używane są złożone łańcuchy wyrażeń zestawu. Niejawne czyszczenie zestawu wyboru może wystąpić w przypadku zestawów wyrażeń, których strukturę dyktują Warunki stosowania.
Niepożądane działanie przejawia się następująco:
-
Jedno lub więcej zewnętrznych wyrażeń zestawu w łańcuchu – w szczególności pierwsze (lub jedyne) i wszystkie kolejne zewnętrzne wyrażenia zestawu z wyjątkiem ostatniego – definiują zestawy danych. Na przykład: Country*={'Sweden', 'Denmark'}>}
-
Pewne zdarzenie powoduje powstanie pustego zestawu dla jednego lub więcej składników zewnętrznego wyrażenia zestawu. Najczęściej jest to dokonanie sprzecznego wyboru w aplikacji.
-
W przypadku zestawów pustych zestawy zdefiniowane przez te wyrażenia są czyszczone w miarę oceny wyrażenia. Oznacza to, że dane używane w agregacjach nie są już ograniczane do zdefiniowanych zestawów, ale zamiast tego wykorzystywane są wszystkie dane.
Z drugiej strony zestawy zdefiniowane we wszystkich zewnętrznych wyrażeniach zestawu tworzących zestawy niepuste, a także ostatnie zewnętrzne wyrażenie zestawu w łańcuchu, są przestrzegane podczas oceny.
Takie działanie skutkuje wartościami agregacji, które mogą być nieoczekiwane i mogą prowadzić do niespójnej analizy. Aby pominąć niejawne czyszczenie zestawu wyboru, można użyć flagi zachowania pustego zestawu. Zob. Rozwiązanie: użycie flagi zachowania pustego zestawu.
Rozwiązanie: użycie flagi zachowania pustego zestawu
Użyj symbolu & (flagi zachowania pustego zestawu), aby zastąpić niejawne czyszczenie zestawu wyboru. Flaga ta gwarantuje, że zestawy zdefiniowane we wszystkich zewnętrznych wyrażeniach zestawu, oprócz ostatniego, w łańcuchu nie będą czyszczone, a zamiast tego będą uwzględniane podczas oceny całego wyrażenia.
Flaga zachowania pustego zestawu zapewnia:
-
Elastyczność i oszczędność czasu, gdy masz zaawansowane, długie wyrażenia, które chcesz zachować w nienaruszonym stanie, zamiast je przepisywać.
-
Możliwość zmiany logiki agregacji w celu dostosowania do zaawansowanych zastosowań.
Składnia
W zewnętrznym wyrażeniu zestawu flaga zachowania pustego zestawu jest umieszczana jako pojedynczy znak & na początku wyrażenia – czyli przed modyfikatorami zestawu, identyfikatorami i operatorami.
Przykłady:
Wyrażenie | Wyrażenie bez flagi zachowania pustego zestawu |
---|---|
{&<Country*={'Sweden', 'Denmark'}>} {<ProductCategory={'shirts'}>} Sum( Sales ) | {<Country={'Sweden'}>} {<ProductCategory={'shirts'}>} Sum (Sales) |
{& <Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) | {<Year=, Product={XI345}>} {<Region={Europe}>} Sum (Sales) |
Szczegółowe informacje i przykłady
Więcej informacji zawiera temat Łańcuchy wielu zewnętrznych i wewnętrznych wyrażeń zestawu.