Champs calculés

Information de concept

Commande DEFINE FIELD . . . COMPUTED

Dans une table Analytics, un champ calculé désigne un champ qui affiche les résultats d'une expression plutôt que des données physiques réelles. Les champs calculés effectuent en général certains types de calcul, d'opération, ou de conversion de données.

Pour plus d'informations sur les expressions, consultez la section Utilisation d'expressions.

À quoi servent les champs calculés ?

Les données physiques que vous utilisez fournissent une base d'analyse, mais bien souvent, il vous faut extrapoler les informations à partir des données physiques, ou bien effectuer des calculs, pour faire avancer votre analyse.

Sans modifier les données source physiques, les champs calculés vous permettent d'extrapoler et de calculer. Ce sont des « champs virtuels » que vous pouvez utiliser pour créer des données utiles qui n'existent pas directement dans les sources de données physiques que vous utilisez.

Quelques exemples d'utilisation des champs calculés

Afficher le résultat d'un calcul Dans un fichier d'inventaire, vous créez un champ calculé appelé Value (Valeur) multipliant le champ Quantity (Quantité) par le champ Unit_cost (Coût_unitaire) pour calculer la valeur totale de chaque article de l'inventaire.
Convertir un champ de données physique en un type de données requis Afin d'utiliser un champ numérique comme s'il s'agissait de données de type caractère, vous créez un champ calculé utilisant la fonction STRING( ) pour convertir les valeurs numériques en valeurs caractère.
Utiliser des conditions, remplacer des codes numériques par des valeurs texte Vous créez un champ calculé conditionnel affichant les noms réels des pays en les mappant aux codes pays numériques d'un champ physique. Par exemple : « Canada » plutôt que 01 et « USA » plutôt que 02.
Évaluer une ou plusieurs conditions et déterminer la valeur du champ en fonction du résultat Vous créez un champ calculé conditionnel déterminant la taxe appliquée sur un article en fonction de son lieu de vente. Si l'article est vendu dans une région, la TVA est de 7 %. S'il est vendu dans une autre région, la TVA est de 6 %.

Catégorie de données des champs calculées

Tout comme les champs physiques, les champs calculés appartiennent à l'une des catégories de données suivantes :

  • caractère
  • numérique
  • DateHeure
  • logique

Contrairement aux champs physiques, vous ne sélectionnez pas explicitement un type de données, et, par extension, de catégorie de données, lors de la définition d'un champ calculé. À la place, la valeur par défaut que vous spécifiez pour un champ calculé détermine la catégorie de données du champ calculé.

Contrôle de la précision décimale dans les champs calculés numériques

Dans un champ calculé numérique, la précision décimale de toutes les valeurs calculées numériques est déterminée par la précision de l'expression de la valeur littérale indiquée dans le champ Valeur par défaut.

  • expression si vous indiquez l'expression par défaut Invoice_Amount * 0,375 et que les valeurs du champ Invoice_Amount (Montant facture) ont deux décimales, alors toutes les valeurs calculées sont déterminées avec trois décimales et arrondies si nécessaire.

    La précision décimale des expressions est régie par les règles présentées dans Contrôle de l'arrondi et de la précision décimale dans les expressions numériques.

  • valeur littérale si vous indiquez la valeur par défaut de 0,00, toutes les valeurs calculées sont déterminées avec deux décimales, et sont arrondies si nécessaire.

Augmenter la précision décimale

Pour augmenter la précision décimale des valeurs calculées numériques, augmentez le nombre de décimales dans le champ Valeur par défaut.

Expression

Multipliez une expression par 1 suivi du nombre de décimales que vous voulez. Assurez-vous de positionner le 1 au début de l'expression. L'exemple ci-dessous augmente la précision à quatre décimales :

1.0000 * Invoice_Amount * 0.375

Valeur littérale

Ajoutez les zéros de fin à la partie décimale d'une valeur littérale. L'exemple ci-dessous augmente la précision à trois décimales :

0,000

Types de champs calculés

Il est possible de créer deux types de champs calculés, qui sont décrits dans les sections ultérieures :

  • Champ calculé de base
  • Champ calculé conditionnel :
    • avec des valeurs littérales
    • avec des valeurs calculées

Champ calculé de base

Un champ calculé de base utilise une seule expression ou valeur littérale et l'applique à tous les enregistrements d'une table, quelle que soit la valeur de chaque enregistrement.

Exemple de champ calculé de base

Vous voulez vérifier la valeur totale d'inventaire par rapport au coût pour chaque produit dans un rapport d'inventaire.

Vous créez un champ calculé, Inventory Value check (Contrôle de la valeur d'inventaire), qui multiplie le champ Quantity on Hand (Quantité disponible) par le champ Unit Cost (Coût unitaire). Vous pouvez comparer les valeurs calculées et le champ calculé avec les valeurs rapportées pour voir si elles correspondent.

L'exemple ci-dessous montre la définition du champ calculé Inventory_Value_check (Vérification_Valeur_Inventaire) dans la boîte de dialogue Format de table. L'expression calculée ( QtyOH (Quantité disponible) * UnCst (Coût unitaire) ) apparaît dans le champ Valeur par défaut.

Dans la vue de la table, vous pouvez positionner le champ calculé (Inventory Value check (Contrôle de la valeur d'inventaire)) à côté du champ physique des données source (Inventory Value at Cost (Valeur de stock au coût)) et comparer les valeurs.

Vous pouvez également créer un filtre qui renvoie toutes les valeurs qui ne correspondent pas :

Inventory_Value_check <> Inventory_Value_at_Cost

Définition d'un champ calculé de base

Définissez un champ calculé qui utilise une seule expression ou valeur littérale et l'applique à tous les enregistrements d'une table, quelle que soit la valeur de chaque enregistrement.

Champ calculé conditionnel

Un champ conditionnel calculé contient plusieurs expressions ou valeurs littérales et les applique aux enregistrements d'une table de façon conditionnelle. L'expression particulière ou la valeur littérale appliquée à chaque enregistrement dépend de la valeur dans l'enregistrement.

Exemple d'un champ calculé conditionnel avec des valeurs littérales

Vous voulez attribuer une valeur littérale de « Small » (Petit), « Medium » (Moyen) ou « Large » (Grand) à chaque enregistrement en fonction de la taille du montant de la facture.

Vous créez un champ calculé, Invoice size, qui identifie la taille du montant de la facture dans chaque enregistrement et affecte la valeur littérale correcte :

  • « Small » montants inférieurs à 5 000,00 $
  • « Medium » montants de 5 000,00 $ à 9 999,99 $.
  • « Large » montants de 10 000.00 $ et plus

L'exemple ci-dessous montre la définition du champ calculé Invoice size dans la boîte de dialogue Format de table. La valeur littérale « Small » s'affiche dans le champ Valeur par défaut. Les valeurs littérales « Medium » et « Large » apparaissent chacune dans une condition séparée.

Chaque condition contient une expression calculée qui doit être évaluée à Vrai pour que la valeur associée soit utilisée dans le champ calculé. Si un enregistrement ne remplit aucune de ces conditions, la valeur par défaut est utilisée.

Remarque

L'ordre dans lequel les conditions sont énumérées est important. Pour plus d'informations, consultez la section Citer les conditions de la plus restrictive à la moins restrictive.

 

Dans la vue de la table, la taille de la facture apparaît maintenant avec chaque enregistrement.

Vous pouvez aussi créer un filtre qui affiche uniquement les enregistrements d'une seule taille :

Invoice_size = "Large"

Exemple d'un champ calculé conditionnel avec des valeurs calculées

Vous voulez calculer le montant de la réduction pour chaque enregistrement en fonction d'un pourcentage de réduction qui varie selon la taille de la facture.

Vous créez un champ calculé, Discount amount (Montant réduction), qui identifie la taille du montant de la facture dans chaque enregistrement et calcule le montant de la réduction en utilisant le pourcentage approprié :

  • Réduction de 0 % montants inférieurs à 5 000,00 $
  • Réduction de 10 % montants de 5 000,00 $ à 9 999,99 $
  • Réduction de 15 % montants de 10 000,00 $ et plus

L'exemple ci-dessous montre la définition du champ calculé Discount amount (Montant réduction) dans la boîte de dialogue Format de table. La valeur littérale 0,00 s'affiche dans le champ Valeur par défaut. Les valeurs calculées Invoice_Amount * 0,10 et Invoice_Amount * 0,15 apparaissent chacune dans une condition séparée.

Chaque condition contient une expression calculée qui doit être évaluée à Vrai pour que la valeur calculée associée soit utilisée. Si un enregistrement ne remplit aucune de ces conditions, la valeur par défaut est utilisée.

Remarque

L'ordre dans lequel les conditions sont énumérées est important. Pour plus d'informations, consultez la section Citer les conditions de la plus restrictive à la moins restrictive.

 

Dans la vue de la table, le montant de la réduction apparaît maintenant avec chaque enregistrement.

Vous pouvez aussi créer un filtre qui affiche les réductions supérieures à un certain montant :

Discount_amount >= 750

Citer les conditions de la plus restrictive à la moins restrictive

Lorsque vous définissez plusieurs conditions, Analytics les évalue dans leur ordre d'affichage dans la liste des conditions dans la boîte de dialogue Format de table, en commençant par le haut.

Dans l'exemple précédent Invoice size (Taille des factures), des tests sont effectués sur les montants des factures par rapport aux conditions dans cet ordre :

Ordre Condition Valeur
1 Montant_Facture >= 10000 "Large"
2 Montant_Facture >= 5000 "Medium"

Pour vous assurer que les enregistrements remplissant plusieurs conditions sont traités de la manière souhaitée, énumérez les conditions de la plus restrictive à la moins restrictive, en commençant en haut par la plus restrictive.

Définition d'un champ calculé conditionnel

Définissez un champ calculé qui contient plusieurs expressions ou valeurs littérales et les applique aux enregistrements d'une table de façon conditionnelle.