Set-modificaties met impliciete definitie van veldwaarden
Hieronder wordt beschreven hoe u een set met veldwaarden kunt definiëren met behulp van een geneste set-definitie.
In dergelijke gevallen moeten de elementfuncties P() en E() worden gebruikt. P() staat hierbij voor de elementset met mogelijke waarden van een veld en E() voor de uitgesloten waarden. Tussen de haakjes kunt u één set-uitdrukking en één veld opgeven, bijvoorbeeld P({1} Customer). Deze functies kunnen niet worden gebruikt in andere uitdrukkingen:
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
sum( {$<Customer = P({1<Product={‘Shoe’}>} Customer)>} Sales ) |
Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die ooit het product ‘Shoe’ gekocht hebben. De elementfunctie P( ) retourneert hier een lijst met mogelijke klanten; de klanten die worden geïmpliceerd door de selectie ‘Shoe’ in het veld Product. |
sum( {$<Customer = P({1<Product={‘Shoe’}>})>} Sales ) |
Hetzelfde als hierboven. Als het veld in de elementfunctie wordt weggelaten, retourneert de functie de mogelijke waarden van het veld dat is opgegeven in de outer-toewijzing. |
sum( {$<Customer = P({1<Product={‘Shoe’}>} Supplier)>} Sales ) |
Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die ooit het product ‘Shoe’ hebben geleverd. De elementfunctie P( ) retourneert hier een lijst met mogelijke leveranciers; de leveranciers die worden geïmpliceerd door de selectie ‘Shoe’ in het veld Product. De lijst met leveranciers wordt vervolgens gebruikt als selectie in het veld Customer. |
sum( {$<Customer = E({1<Product={‘Shoe’}>})>} Sales ) |
Retourneert de verkoop voor de huidige selectie, maar alleen de klanten die nooit het product ‘Shoe’ hebben gekocht. De elementfunctie E( ) retourneert hier een lijst met uitgesloten klanten; de klanten die worden uitgesloten door de selectie ‘Shoe’ in het veld Product. |