Modyfikatory zestawów z operatorami zestawów
Operatory zestawów służą do uwzględniania, wykluczania albo tworzenia części wspólnych zestawów danych. Łączą one różne metody definiowania zestawów elementów.
Operatory są takie same jak te używane do identyfikatorów zestawu.
Operator | Opis |
---|---|
+ | Suma. Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie rekordy lub elementy, które należą do któregokolwiek z dwóch zestawów wejściowych. |
- | Wykluczenie. Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie rekordy lub elementy, 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 rekordy lub elementy, które należą do obu zestawów wejściowych. |
/ | Różnica symetryczna (XOR). Operacja dwuargumentowa zwracająca zestaw zawierający wszystkie rekordy lub elementy, które należą do jednego, ale nie obu zestawów wejściowych. |
Na przykład następujące dwa modyfikatory definiują ten sam zestaw wartości pól:
-
<Year = {1997, "20*"}>
-
<Year = {1997} + {"20*"}>
Oba wyrażenia wybierają rok 1997 i lata zaczynające się od 20. Innymi słowy jest to suma dwóch warunków.
Operatory zestawów umożliwiają również tworzenie bardziej złożonych definicji. Na przykład:
<Year = {1997, "20*"} - {2000}>
Wyrażenie to wybierze te same lata co powyżej, ale dodatkowo wykluczy rok 2000.
Więcej informacji zawiera temat Operatory zestawów.
Przykłady: wyrażenia wykresu dla modyfikatorów zestawu z operatorami zestawu
Przykłady | Wyniki |
---|---|
sum( {$<Product = Product + {OurProduct1} – {OurProduct2} >} Sales ) | Zwraca wartość sprzedaży dla bieżącej selekcji, ale po dodaniu produktu OurProduct1 do listy wybranych produktów, a usunięciu z niej produktu OurProduct2. |
sum( {$<Year = Year + ({“20*”,1997} – {2000}) >} Sales ) |
Zwraca wartość sprzedaży dla bieżącej selekcji, ale z dodatkowymi wyborami w polu „Year”: 1997 i wszystkie lata zaczynające się na „20”, ale nie sam rok 2000. Jeśli jednak rok 2000 jest uwzględniony w bieżącej selekcji, to po zastosowaniu modyfikacji będzie nadal uwzględniony. |
sum( {$<Year = (Year + {“20*”,1997}) – {2000} >} Sales ) |
Zwraca prawie ten sam wynik, co wyrażenie w poprzednim przykładzie, ale w tym przypadku rok 2000 zostanie wykluczony, nawet jeśli początkowo zawierał się w początkowej selekcji. Ten przykład ilustruje, jak ważne w niektórych przypadkach mogą być nawiasy określające pierwszeństwo. |
sum( {$<Year = {“*”} – {2000}, Product = {“*bearing*”} >} Sales ) |
Zwraca wartość sprzedaży dla bieżącego wyboru ale z nowym wyborem w polu „Year”: wszystkie lata poza rokiem 2000 i tylko dla produktów zawierających ciąg „bearing”. |