De evaluatiecontext voor een berekeningveld kiezen
De context is de tabel in de
relatiegrafiek waaruit een
relatie wordt geëvalueerd. Wanneer u een berekening in een brontabel definieert en de relatiegrafiek bevat meer dan één vermelding van die tabel, moet u de context opgeven waaruit u de berekening wilt evalueren.
Elke contextkeuze stelt een andere tabel in de relatiegrafiek voor, en een andere invalshoek voor uw gegevens. Wanneer u de context voor een berekening kiest, geeft u FileMaker Pro de opdracht de evaluatie van de berekening te beginnen bij die tabelvermelding. Aangezien elke contextkeuze een andere combinatie van gerelateerde tabellen en velden voorstelt, is de keuze van de evaluatiecontext voor uw berekening van groot belang om de verwachte resultaten te behalen.
Een voorbeeld van hoe context de resultaten van een berekening wijzigt
U hebt een database met twee brontabellen: BrontabelKleuren en BrontabelVormen. De tabellen hebben de volgende eigenschappen:
Naam brontabel | Tabelvermeldingen in relatiegrafiek | Veldnamen |
BrontabelKleuren | TabelKleuren 1, TabelKleuren 2 | Kleur Stijlnummer Gewicht |
BrontabelVormen | TabelVormen | Vorm Stijlnummer Gewicht Prijs |
De relatie tussen de tabellen is als volgt gedefinieerd:
Er zijn twee aparte relaties:
•In de eerste relatie zijn TabelKleuren 1 en TabelVormen gerelateerd door middel van het veld Stijlnummer.
•In de tweede relatie zijn TabelKleuren 2 en TabelVormen gerelateerd door middel van het veld Gewicht.
Aangezien TabelKleuren 1 en TabelKleuren 2 dezelfde brontabel delen, kan een berekening die in BrontabelKleuren is gedefinieerd, geëvalueerd worden vanuit de context van de tabelvermelding TabelKleuren 1 of de tabelvermelding TabelKleuren 2.
Als u wilt zien hoe dit werkt, denk dan aan de effecten van de context op twee berekeningvelden in de tabel BrontabelKleuren. Elk berekeningveld gebruikt dezelfde formule om de som van prijzen in de tabel BrontabelVormen te bepalen. De enige wijziging is de evaluatiecontext. BrontabelVormen heeft drie records met deze waarden:
Vorm | Stijlnummer | Gewicht | Prijs |
cirkel | 100 | 5 | $ 2,00 |
vierkant | 100 | 2 | $ 6,00 |
driehoek | 200 | 2 | $ 9,00 |
Eén record in de BrontabelKleuren heeft deze waarden:
Kleur | Stijlnummer | Gewicht |
rood | 100 | 2 |
Aangezien de relaties verschillende
vergelijkingsvelden gebruiken, geeft elke relatie een andere reeks gerelateerde records als resultaat.
Berekeningsresultaat 1
De relatie tussen TabelKleuren 1 en TabelVormen, die Stijlnummer als vergelijkingsveld gebruikt, geeft als resultaat deze twee records:
Vorm | Stijlnummer | Gewicht | Prijs |
cirkel | 100 | 5 | $ 2,00 |
vierkant | 100 | 2 | $ 6,00 |
Een berekeningveld dat in de BrontabelKleuren is gedefinieerd met de formule Sum(TabelVormen::Prijs) die is ingesteld om te evalueren vanuit de context van de tabel TabelKleuren 1 geeft als resultaat de waarde € 8,00.
Berekeningsresultaat 2
De relatie tussen TabelKleuren 2 en TabelVormen, die Gewicht als vergelijkingsveld gebruikt, geeft als resultaat deze twee records:
Vorm | Stijlnummer | Gewicht | Prijs |
vierkant | 100 | 2 | $ 6,00 |
driehoek | 200 | 2 | $ 9,00 |
Een tweede berekeningveld dat in de BrontabelKleuren is gedefinieerd met dezelfde formule, Sum(TabelVormen::Prijs), maar die is ingesteld om te evalueren vanuit de context van de tabel TabelKleuren 2 geeft als resultaat de waarde € 15,00.
Opmerkingen
•Bij de samenstelling van een berekeningsformule bepaalt de evaluatiecontext de tabellen die in het dialoogvenster Berekening opgeven als gerelateerd en niet-gerelateerd verschijnen.
•Een berekeningsformule kan globaalvelden uit niet-gerelateerde tabellen gebruiken. Dat zijn de enige velden die uit niet-gerelateerde tabellen kunnen worden gebruikt.
Verwante onderwerpen