Sélection du contexte d'évaluation d'une rubrique Calcul

Le contexte correspond à la table du graphe de liens à partir duquel un lien est évalué. Lorsque vous définissez un calcul dans une table source et que cette table possède plusieurs occurrences dans le graphe de liens, vous devez indiquer le contexte dans lequel vous souhaitez que le calcul s'effectue.

Chaque contexte porte sur une table précise dans le graphe de liens, ainsi que sur une perspective particulière dans vos données ; si vous choisissez le contexte d'un calcul, vous demandez à FileMaker Pro d'effectuer le calcul en commençant par une occurrence précise de la table. Etant donné qu'en sélectionnant un contexte, vous établissez une association de tables et de rubriques liées différente à chaque fois, choisir un contexte pour votre calcul est essentiel à l'obtention des résultats souhaités.

Voici un exemple de la façon dont le contexte influence les résultats d'un calcul :

Vous disposez d'une base de données avec deux tables sources appelées TableSourceCouleurs et TableSourceFormes. Les propriétés de ces tables sont les suivantes :

Nom de la table source

Occurrences de la table dans le graphe de liens

Noms de rubrique

TableSourceCouleurs

TableCouleurs1, TableCouleurs2

Couleur

Nombre de styles

Poids

TableSourceFormes

TableFormes

Shape

Nombre de styles

Poids

Prix

Les tables sont liées de la façon suivante :

Exemple de deux tables possédant des liens différents avec une troisième table

Il existe deux liens distincts :

  • Dans le premier, le lien entre TableCouleurs1 et TableFormes est établi au moyen des rubriques Nombre de styles.
  • Dans le second, le lien entre TableCouleurs2 et TableFormes est établi au moyen des rubriques Poids.

En raison du fait que TableCouleurs1 et TableCouleurs2 partagent la même table source, un calcul défini dans TableSourceCouleurs peut être effectué d'après le contexte de l'occurrence de la table TableCouleurs1 ou de l'occurrence de la table TableCouleurs2.

Pour visualiser ce mode de fonctionnement, considérons les effets d'un contexte sur deux rubriques de type Calcul dans la table TableSourceCouleurs. Toutes les rubriques de type Calcul utilisent la même formule pour déterminer la somme des prix dans la table TableSourceFormes ; le contexte d'évaluation est la seule chose qui change. La table TableSourceFormes possède trois enregistrements dont les valeurs sont les suivantes :

Shape

Nombre de styles

Poids

Prix

cercle

100

5

2,00 $

carré

100

2

6,00 $

triangle

200

2

9,00 $

Un seul enregistrement de la table TableSourceCouleurs possède les valeurs suivantes :

Couleur

Nombre de styles

Poids

rouge

100

2

En raison du fait que les liens utilisent des rubriques sources différentes, chacun d'entre eux renvoie un jeu différent d'enregistrements liés.

Résultat du calcul 1

Le lien entre TableCouleurs1 et TableFormes, qui utilise le Nombre de styles comme rubrique source, renvoie les deux enregistrements suivants :

Shape

Nombre de styles

Poids

Prix

cercle

100

5

2,00 $

carré

100

2

6,00 $

Une rubrique Calcul définie dans la table TableSourceCouleurs et dont la formule est Somme(TableFormes::Prix), définie pour utiliser le contexte de la table TableCouleurs1, renvoie la valeur 8,00 $.

Résultat du calcul 2

Le lien entre TableCouleurs2 et TableFormes, qui utilise le Poids comme rubrique source, renvoie les deux enregistrements suivants :

Shape

Nombre de styles

Poids

Prix

carré

100

2

6,00 $

triangle

200

2

9,00 $

Une seconde rubrique Calcul définie dans la table TableSourceCouleurs et dont la formule est également Somme(TableFormes::Prix), mais qui est cette fois-ci définie pour utiliser le contexte de la table TableCouleurs2, renvoie la valeur 15,00 $.

Remarques 

  • Au moment de définir une formule de calcul, le contexte d'évaluation détermine les tables qui apparaissent comme étant liées et non liées dans la boîte de dialogue Calcul.
  • Une formule de calcul peut utiliser des rubriques de type Global appartenant à des tables non liées. Ces rubriques sont les seules à pouvoir être utilisées dans des tables non liées.