# Modyfikatory zestawów z niejawnymi definicjami wartości pól

Poniżej opisano sposób definiowania zestawu wartości pól za pomocą zagnieżdżonej definicji zestawu.

Wymaga to zastosowania funkcji elementowych P() i E(), reprezentujących odpowiednio zestawy możliwych i wykluczonych wartości pola. Wewnątrz nawiasów można podać jedno wyrażenie zestawu i jedno pole, na przykład `P({1} Customer)`. Funkcji tych nie można używać w innych wyrażeniach:

Przykłady:

Przykłady i wyniki

| Przykład | Wynik |
| --- | --- |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Customer)&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącej selekcji, ale tylko tych klientów, którzy co najmniej raz kupili produkt Shoe. W tym przypadku funkcja elementowa P() zwraca listę potencjalnych klientów, których wskazuje selekcja Shoe w polu Product. |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | Tak samo jak powyżej. Jeśli pole w funkcji elementowej zostanie pominięte, funkcja zwróci możliwe wartości pola wskazanego w przypisaniu zewnętrznym. |
| sum( {$&lt;Customer = P({1&lt;Product={‘Shoe’}&gt;} Supplier)&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącej selekcji, ale tylko tych klientów, którzy co najmniej raz dostarczyli produkt Shoe. W tym przypadku funkcja elementowa P() zwraca listę potencjalnych dostawców, których wskazuje selekcja Shoe w polu Product. Lista dostawców jest następnie stosowana jako selekcja w polu Customer. |
| sum( {$&lt;Customer = E({1&lt;Product={‘Shoe’}&gt;})&gt;} Sales ) | Zwraca wartość sprzedaży dla bieżącej selekcji, ale tylko tych klientów, którzy nigdy nie kupili produktu Shoe. W tym przypadku funkcja elementowa E() zwraca listę klientów wykluczonych selekcją produktu Shoe w polu Product. |