Gå till huvudinnehåll Skip to complementary content

Set-modifierare med implicta set-operatorer

Standardmetoden för att skriva urval i en set-modifierare är att använda likhetstecken. Exempel:

Year = {">2015"}

Uttrycket till höger om likhetstecknet i set-modifieraren kallas elementuppsättningen. Det definierar en uppsättning med distinkta fältvärden, med andra ord ett urval.

Denna notation definierar ett nytt urval, utan hänsyn till det aktuella urvalet i fältet. Så om set-identifieraren innehåller ett urval i det här fältet kommer det gamla urvalet att ersättas av det i elementuppsättningen.

När du vill basera ditt urval på det aktuella urvalet i fältet ska du använda ett annat uttryck

Om du till exempel vill fortsätta att använda det gamla urvalet men lägga till kravet att året ska vara efter 2015, kan du skriva följande:

Year = Year * {">2015"}

Asterisken är en set-operator som definierar en intersektion, så du kommer att få intersektionen mellan det aktuella urvalet i Year och det ytterligare kravet att året är efter 2015. Ett alternativt sätt att skriva det här på är följande:

Year *= {">2015"}

Det innebär att tilldelningsoperatorn (*=) implicit definierar en intersektion.

På ett liknande sätt kan implicita unioner, uteslutningar och symmetriska skillnader definieras med följande: +=, –=, /=

Exempel: Diagramuttryck för set-modifierare med implicita set-operatorer

Exempel Resultat
sum( {$<Product += {OurProduct1, OurProduct2} >} Sales )

Returnerar försäljningen för det aktuella valet, men med en implicit sammanslagning för att lägga till produkterna "OurProduct1" och "OurProduct2" i listan över de valda produkterna.

sum( {$<Year += {“20*”,1997} – {2000} >} Sales )

Returnerar försäljningen för det aktuella urvalet men använder en implicit sammanslagning för att lägga till ett antal år i urvalet: 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. Samma som <Year=Year + ({“20*”,1997}–{2000})>.

sum( {$<Product *= {OurProduct1} >} Sales )

Returnerar försäljningen för det aktuella valet, men bara för intersektionen av det för tillfället valda produkterna samt produkten "OurProduct1".