Set-modifierare med set-operatorer
Set-operatorer används till att inkludera, utesluta eller genomskära olika elementuppsättningar. De kombinerar de olika metoderna för att definiera elementuppsättningar.
Operatorer är samma som de som används för set-identifierare.
Operator | Beskrivning |
---|---|
+ | Union. Denna binära operation returnerar en uppsättning som består av de poster eller element som tillhör någon av de två set-operanderna. |
- | Exklusion. Denna binära operation returnerar en uppsättning som består av de poster eller element som enbart tillhör den första men inte den andra av de två set-operanderna. Den returnerar dessutom det komplementära setet när det används som en unär operator. |
* | Intersektion. Denna binära operation returnerar en uppsättning som består av de poster eller element som tillhör båda set-operanderna. |
/ | Symmetrisk skillnad (XOR). Denna binära operation returnerar en uppsättning som består av de poster eller element som tillhör endera men inte båda set-operanderna. |
Till exempel kan de följande två modifierarna definiera samma uppsättning med fältvärden:
-
<Year = {1997, "20*"}>
-
<Year = {1997} + {"20*"}>
Båda uttrycken väljer 1997 och åren som börjar med 20. Med andra ord är det här unionen av de två villkoren.
Set-operatorer möjliggör även mer komplicerade definitioner. Exempel:
<Year = {1997, "20*"} - {2000}>
Det här uttrycket kommer att välja samma år som de ovan, men dessutom utesluta år 2000.
Mer information finns i Set-operatorer.
Exempel: Diagramuttryck för set-modifierare med set-operatorer
Exempel | Resultat |
---|---|
sum( {$<Product = Product + {OurProduct1} – {OurProduct2} >} Sales ) | Returnerar försäljningen för det aktuella valet, men med produkten ”OurProduct1” tillagd i listan över valda produkter och ”OurProduct2” borttagen från densamma. |
sum( {$<Year = Year + ({“20*”,1997} – {2000}) >} Sales ) |
Returnerar försäljningen för det aktuella valet, men med ytterligare val i fältet ”Year”: 1997 och alla som börjar på ”20” – dock inte 2000. Observera att om 2000 är inkluderat i det aktuella valet kommer det fortfarande att inkluderas efter modifieringen. |
sum( {$<Year = (Year + {“20*”,1997}) – {2000} >} Sales ) |
Returnerar nästan det samma som ovan, men här utesluts 2000, även om det från början ingår i det aktuella valet. Detta exempel visar vikten av att ibland använda parenteser för att definiera prioritetsordning. |
sum( {$<Year = {“*”} – {2000}, Product = {“*bearing*”} >} Sales ) |
Returnerar försäljningen för det aktuella urvalet men med ett nytt urval i 'Year': alla år utom 2000; och endast för produkter som innehåller strängen 'bearing'. |