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.
Examples and results:
Przykłady | Wyniki |
---|---|
sum( {$<Customer = P({1<Product={'Shoe'}>} Customer)>} Sales ) |
Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy co najmniej raz kupili produkt „Shoe”. W tym przypadku funkcja elementowa P() zwraca listę możliwych klientów, których wskazuje wybór „Shoe” w polu Product. |
sum( {$<Customer = P({1<Product={'Shoe'}>})>} 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( {$<Customer = P({1<Product={'Shoe'}>} Supplier)>} Sales ) |
Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy co najmniej raz dostarczyli produkt „Shoe”. To znaczy, ze klient jest również dostawcą. W tym przypadku funkcja elementowa P() zwraca listę możliwych dostawców, których wskazuje wybór „Shoe” w polu Product. Lista dostawców jest następnie stosowana jako wybór w polu Customer. |
sum( {$<Customer = E({1<Product={'Shoe'}>})>} Sales ) |
Zwraca wartość sprzedaży dla bieżącego wyboru, ale tylko tych klientów, którzy nigdy nie kupili produktu „Shoe”. W tym przypadku funkcja elementowa E() zwraca listę klientów wykluczonych wyborem produktu „Shoe” w polu Product. |