# Set-modifierare med implicita fältvärdesdefinitioner

Nedan beskrivs hur man definierar en uppsättning fältvärden med hjälp av en nästlad uppsättningsdefinition.

I sådana fall, måste man använda elementfunktionerna P() och E(), som representerar en uppsättning element med möjliga värden respektive de uteslutna värdena i ett fält. Inom parenteserna är det möjligt att ange ett set-uttryck och ett fält, exempelvis `P({1} Customer)`. Dessa funktioner kan inte användas i andra uttryck.

Exempel:

Exempel och resultat

| Exempel | Resultat |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Customer)&gt;} Sales ) | Returnerar försäljningen för det aktuella valet, men endast de kunder som någonsin har köpt produkten ”Shoe”. Elementfunktionen P( ) returnerar här en lista över möjliga kunder; de kunder som är inbegripna i urvalet "Shoe" i fältet Product. |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | Enligt ovan. Om fältet i elementfunktionen utelämnas returnerar funktionen de möjliga värdena från fältet som angetts i den yttre tilldelningen. |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Supplier)&gt;} Sales ) | Returnerar försäljningen för det aktuella valet, men endast de kunder som någonsin har levererat produkten ”Shoe”. Elementfunktionen P( ) returnerar här en lista över möjliga leverantörer; de kunder som är inbegripna i urvalet "Shoe" i fältet Product. Listan över leverantörer används sedan som ett urval i fältet Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | Returnerar försäljningen för det aktuella valet, men endast de kunder som någonsin har köpt produkten "Shoe". Elementfunktionen E() returnerar här en lista över uteslutna kunder; de kunder som valts bort i och med urvalet "Shoe" i fältet Product. |