Utilisation de variables dans ACLScript
Lorsque vous rédigez un script dans Analytics, vous devez souvent tenir compte de valeurs qui changent ou varient. Par exemple :
-
Configuration des scripts Vous recherchez une méthode simple pour personnaliser les valeurs de la logique d'un script, comme les noms des tables ou des champs, sans avoir à mettre à jour chaque occurrence d'une valeur
-
Entrée de l'utilisateur Lorsque les utilisateurs exécutent un script, ils souhaitent personnaliser les valeurs d'entrée comme les plages de dates ou les montants des seuils
-
Stockage temporaire La logique d'un script doit stocker temporairement une valeur qui est continuellement mise à jour au fur et à mesure que le script progresse, comme un compteur ou un sous-total
Pour ce faire, et à d'autres fins, vous utilisez des variables.
Qu'est-ce qu'une variable ?
Vous pouvez considérer une variable comme un conteneur nommé qui contient ou stocke une valeur susceptible de changer. La valeur peut changer, mais le nom de la variable ne change pas. En tant que rédacteur du script, vous utilisez le nom de variable fixe dans toute la logique du script. Lorsque le script s'exécute, il ne traite pas le nom de la variable. Au contraire, il accède à chaque valeur actuellement contenue dans la variable et la traite.
Dans l'exemple ci-dessous, v_start_date et v_end_date sont des noms de variables et les dates sont les valeurs contenues par les variables.
L'avantage des variables
Dans un script, vous pouvez utiliser des variables plutôt que des valeurs littérales. En remplaçant les noms de tables, les noms de champs, les valeurs de texte, les nombres et les dates réelles par des variables qui font référence à ces éléments, vous augmentez considérablement la flexibilité de votre script. Au lieu d'écrire un script qui ne fonctionne que dans une situation très spécifique, vous pouvez écrire un script qui peut être utilisé dans un nombre illimité de situations.
Comment et où les variables peuvent-elles être utilisées ?
Tout comme les éléments littéraux auxquels elles font référence, les variables peuvent être créées, renommées, mises à jour, supprimées, utilisées dans des calculs et diverses expressions, exportées et extraites. Autrement dit, elles peuvent être utilisées à n'importe quel emplacement où l'élément littéral serait valable.
Comment créer une variable ?
Vous créez une variable à l'aide d'une commande Analytics - la commande ASSIGN, ou l'une de plusieurs autres commandes. En général, vous incluez cette commande dans un script, mais vous pouvez également créer une variable manuellement en entrant la commande ASSIGN dans la ligne de commande Analytics.
Exemple
Vous voulez qu'un script possède une plage de dates personnalisable, vous créez donc des variables de date de début et de date de fin.
Dans l'exemple ci-dessous, une variable portant le nom v_date_début contient actuellement la valeur date `20210101` et une variable portant le nom v_date_fin contient actuellement la valeur date `20210331`.
Vous pouvez utiliser ces deux variables pour stocker les dates de début et de fin qu'un utilisateur spécifie. Dans la logique du script, vous spécifiez v_date_début et v_date_fin partout où les dates sont requises, mais lorsque le script s'exécute, il utilise les dates réelles spécifiées par l'utilisateur.
ASSIGN v_date_début = `20210101`
ASSIGN v_date_fin = `20210331`
Astuce
Vous pouvez créer l'une de ces variables en copiant la commande ASSIGN et ses paramètres sur la ligne de commande Analytics et en appuyant sur Entrée. Dans le Navigateur, ouvrez l'onglet Variables pour voir le résultat.
Si la zone de texte de la Ligne de commande n'est pas visible, sélectionnez Fenêtre > Ligne de commande.
Afficher des variables dans un projet Analytics
Lorsque vous utilisez des variables, il est extrêmement utile de pouvoir voir les variables qui existent dans un projet Analytics, ainsi que leurs valeurs actuelles. Deux méthodes vous permettent d'afficher les variables et leurs valeurs :
-
l'onglet Variables
-
la commande DISPLAY VARIABLES
L'onglet Variables
L'onglet Variables, dans le Navigateur, permet de suivre la création des variables et l'affectation des valeurs aux variables en temps réel. L'onglet en lecture seule affiche les noms, types de données et valeurs actuelles de toutes les variables dans un projet Analytics. Les noms sont indiqués par ordre alphabétique.
Si vous parcourez un script ligne par ligne, toute variable définie dans le script ou générée par le système apparaît dans l'onglet Variables au moment de sa création. Si la variable existe déjà, la valeur est mise à jour de façon dynamique, en fonction de la logique du script. (Dans l'Éditeur de script, utilisez l'option Étape
pour parcourir un script.)
La possibilité d'observer exactement les modifications apportées aux variables de script, au fur et à mesure qu'elles se produisent, est un outil de diagnostic important. Cette fonctionnalité vous permet de repérer les erreurs de script qui pourraient être difficiles à localiser en examinant uniquement la syntaxe du script.
Si vous exécutez un script, toutes les modifications associées aux variables s'affichent dans l'onglet Variables lorsqu'un point d'arrêt est atteint ou lorsque le script se termine.
La commande DISPLAY VARIABLES
La commande DISPLAY VARIABLES affiche les noms, les types de données et les valeurs actuelles de toutes les variables d'un projet Analytics. Les noms sont classés dans l'ordre inversement chronologique, en fonction de la date de création ou de la dernière mise à jour de la variable.
DISPLAY nom_variable renvoie les informations associées à une seule variable.
Vous pouvez utiliser la commande DISPLAY VARIABLES de deux manières différentes :
-
Etat actuel des variables du projet Saisissez DISPLAY VARIABLES dans la ligne de commande et appuyez sur Entrée.
Toutes les variables du projet et leurs valeurs actuelles sont affichées à l'écran dans l'ordre inversement chronologique.
-
État des variables du projet à différents points d'un script Ajoutez DISPLAY VARIABLES à un script au point ou aux points du script où vous voulez capturer l'état des variables du projet. Vous pouvez également utiliser un point d'arrêt à cette fin, à la différence qu'un point d'arrêt interrompt l'exécution du script alors que la commande DISPLAY VARIABLES ne le fait pas.
Une fois le script terminé, double-cliquez sur l'entrée DISPLAY VARIABLES correspondante dans le journal des commandes. L'état des variables du projet au point du script que vous avez spécifié est affiché à l'écran dans un ordre inversement chronologique.
Remarque
Vous ne pouvez pas utiliser la commande DISPLAY VARIABLES dans une commande GROUP.
Huit choses à savoir sur les variables ACLScript
Si vous connaissez d'autres langages de programmation ou de rédaction de script, vous connaissez déjà les variables et leurs nombreuses utilisations. Les principales caractéristiques des variables ACLScript sont décrites ci-dessous.
Si vous êtes novice en matière de scripts et de variables, les informations ci-dessous prendront tout leur sens lorsque vous commencerez à travailler avec des variables.
1. Une variable est créée automatiquement lorsque vous affectez une valeur
2. Il existe différentes méthodes de création d'une variable
3. Le type de données d'une variable est automatiquement spécifié
4. Les noms de variables sont flexibles, avec quelques restrictions
5. Une variable a un champ d'application global
6. Une variable persiste jusqu'à ce que le projet Analytics soit fermé
7. Une variable peut être explicitement supprimée
8. Variables système créées automatiquement par certaines commandes Analytics
1. Une variable est créée automatiquement lorsque vous affectez une valeur
Une variable est créée (déclarée) automatiquement lorsque vous attribuez une valeur initiale à la variable nommée. L'attribution d'une valeur initiale à une variable est également appelée initialisation d'une variable.
Dans l'exemple ci-dessous, la variable v_table_entrée est créée automatiquement lorsque vous utilisez la commande ASSIGN pour attribuer la valeur "Trans_Cf" à la variable. Autrement dit, la création de la variable et l'attribution d'une valeur à cette variable (déclaration et initialisation) se font en une seule et même étape.
ASSIGN v_table_entrée = "Trans_Cf"
A quel moment et où faut-il créer une variable ?
Vous pouvez créer une variable n'importe où dans un script à condition que la création de la variable précède sa première utilisation.
Une bonne pratique consiste à créer toutes les variables d'entrée utilisateur et les variables de configuration du script au début du script. Avec cette méthode, un utilisateur peut saisir toutes les valeurs d'entrée requises au début d'un script, puis laisser le script s'exécuter. Vous pouvez également être sûr que toutes les variables de configuration de script requises se trouvent à un emplacement unique et organisé au début d'un script.
Les variables qui ne nécessitent aucune saisie de l'utilisateur ni de configuration préalable peuvent être créées au moment où elles sont requises dans un script.
Si nécessaire, vous pouvez attribuer une valeur vide à une variable de type caractère ou DateHeure afin que la variable existe, mais qu'elle soit initialement vide.
ASSIGN v_table_entrée = ""
ASSIGN v_liste_tous_champs = BLANKS(20000)
ASSIGN v_date_début = `19000101`
2. Il existe différentes méthodes de création d'une variable
La façon dont vous créez une variable dépend de l'utilisation que vous comptez en faire.
| Utilisation | Méthode de création |
|---|---|
|
Configuration du script Stockage temporaire Autres utilisations dans le cadre d'un script
|
Commande ASSIGN Dans un script, utilisez la commande Commande ASSIGN sur une ligne distincte pour déclarer et initialiser une variable. Le type de données d'une valeur affectée dicte le type de données de la variable. Remarque Il est recommandé d'indiquer explicitement le mot-clé ASSIGN pour faciliter la lecture et la compréhension des scripts. Toutefois, vous pouvez omettre le mot-clé ASSIGN et indiquer simplement : nom_variable = valeur_variable |
|
Saisie de l'utilisateur |
Commande ACCEPT Créez une boîte de dialogue de base invitant de manière interactive les utilisateurs à saisir une ou plusieurs valeurs d'introduction de script à l'aide de Commande ACCEPT. Chaque valeur d'introduction, peu importe ce qu'elle représente, est stockée dans une variable nommée de type caractère. Voir aussi Création de scripts interactifs. |
|
Commande DIALOG Créez une boîte de dialogue plus avancée invitant de manière interactive les utilisateurs à saisir une ou plusieurs valeurs d'introduction de script à l'aide de Commande DIALOG et du Générateur de boîte de dialogue associé. Chaque valeur d'introduction est stockée dans une variable nommée. La plupart des options d'entrée utilisent une variable de type caractère. En plus des options fournies par la commande ACCEPT, la commande DIALOG vous offre des options supplémentaires telles que des cases à cocher, des boutons d'option et des listes déroulantes. Voir aussi Création de scripts interactifs. |
|
|
Balises PARAM, TABLE et FIELD Pour les entrées utilisateur dans les scripts qui s'exécutent dans Robots, créez un en-tête d'outil d'analyse et utilisez le balise PARAM, le balise TABLE ou le balise FIELD.Robots La balise PARAM est la seule méthode de création de variable qui nécessite de spécifier explicitement un type de données pour la variable associée. Les balises TABLE et FIELD stockent les valeurs d'entrée dans une variable de type caractère. |
|
|
Saisie des informations d'identification |
Commande PASSWORD Utilisez la Commande PASSWORD pour créer une boîte de dialogue qui demande de manière interactive aux utilisateurs un mot de passe, un jeton ou d'autres informations sensibles. La commande PASSWORD permet une saisie sécurisée des données et un stockage crypté de la valeur des informations d'identification à un emplacement mémoire protégé. Dans le cadre du traitement sécurisé des informations d'identification, la variable contenant les informations sensibles n'est pas affichée et ne peut être directement gérée. Voir aussi Création de scripts interactifs. Vous pouvez également utiliser la commande SET PASSWORD pour spécifier directement un mot de passe sans avoir à demander l'intervention de l'utilisateur. Cependant, le mot de passe apparaît en texte clair dans le script. |
|
Balise PASSWORD Pour la saisie des informations d'identification dans les scripts qui s'exécutent dans Robots, créez un en-tête d'outil d'analyse et utilisez l'adresse balise PASSWORD.Robots |
3. Le type de données d'une variable est automatiquement spécifié
Lorsque vous utilisez la commande ASSIGN, le type de données de la valeur affectée à une variable dicte le type de données de la variable. Ce processus est connu sous le nom de typage implicite. Dans la plupart des cas, vous ne spécifiez pas explicitement le type de données des variables dans Analytics.
Astuce
Faites attention aux types de données des variables dans les scripts que vous rédigez. Une cause fréquente d'erreurs de script est une inadéquation entre le type de données d'une variable et la manière dont vous utilisez cette variable. Pour plus d'informations, consultez la section L'importance du type de données d'une variable.
Types de valeurs que vous pouvez attribuer à une variable
Vous pouvez affecter une valeur littérale à une variable ou vous pouvez affecter un champ à une variable et la variable est initialisée avec la valeur du champ dans l'enregistrement actuellement sélectionné. Vous pouvez également affecter la valeur actuelle d'une variable à une autre variable.
Types de données des valeurs
Dans Analytics, chaque valeur de données est l'un des types de données (ou catégories) suivants :
-
Caractère
-
Numérique
-
DateHeure
-
Logique
Le type de données d'une valeur est établi de l'une des manières suivantes :
-
Valeur littérale Le type de données d'une valeur littérale est établi par la présence ou l'absence de qualificateurs entourant la valeur et par les caractères alphanumériques qui la composent.
-
Champ Le type de données des valeurs d'un champ est établi par le type de données du champ.
-
Variable Le type de données de la variable "de" et la valeur qu'elle contient sont déjà définis et deviennent le type de données de la variable "à". En général, bien que rien ne vous en empêche, vous ne modifiez pas les types de données des variables une fois que vous les avez créées.
Exemples d'utilisation de la commande ASSIGN pour créer des variables de différents types de données
Remarque
Lorsque vous utilisez la commande ACCEPT pour créer une variable ou la plupart des options de la commande DIALOG, la variable a un type de données caractère, quel que soit le type de valeur qu'elle contient.
| Type de données de la variable et valeur | Exemple |
|---|---|
|
Caractère Une valeur de type caractère peut inclure des caractères alphanumériques et des caractères spéciaux. Les valeurs littérales de caractère doivent être entourées de guillemets simples ou doubles. Si une valeur de type caractère contient des guillemets, utilisez cette méthode :
|
Exemple de type caractère Affecte la valeur de caractère "Numéro_fournisseur" à la variable v_table_entrée. ASSIGN v_table_entrée = "Numéro_fournisseur" Affecte la valeur du champ caractère Numéro_fournisseur de l'enregistrement actuellement sélectionné à la variable v_identifiant. ASSIGN v_identifiant = Numéro_fournisseur Remarque Il est important de comprendre la différence entre l'attribution d'un nom de champ qualifié et non qualifié à une variable. L'attribution de "Numéro_fournisseur" permet d'attribuer la chaîne de caractères réelle qui constitue le nom du champ. L'attribution de Numéro_fournisseur permet d'attribuer l'une des valeurs contenues dans le champ Numéro_fournisseur.
|
|
Numérique Une valeur numérique peut inclure les chiffres de 0 à 9, un séparateur décimal et un signe négatif. Une valeur numérique littérale ne doit pas être entourée de qualificateurs. |
Exemple numérique Affecte la valeur numérique 1000 à la variable v_montant_min. ASSIGN v_montant_min = 1000 Affecte la valeur du champ numérique Montant_Facture de l'enregistrement actuellement sélectionné à la variable v_total_cumulé. ASSIGN v_total_cumulé = Montant_Facture |
|
DateHeure Une valeur DateHeure peut être une date, une heure ou une DateHeure. La valeur doit utiliser un format pris en charge par Analytics. Pour plus d'informations sur les cartes formats DateHeure pris en charge, voir Format des valeurs littérales DateHeure. Les valeurs dateheure littérales doivent être encadrées par des `backquotes`(guillemets inverses) (` `). Remarque Analytics prend également en charge les valeurs de type DateHeure qui utilisent le type de données caractère. Pour plus d'informations, consultez la rubrique Précisions au sujet des valeurs DateHeure. |
Exemple DateHeure Affecte la valeur date `20210101` à la variable v_date_début. ASSIGN v_date_début = `20210101` Affecte à la variable v_date la valeur du champ DateHeure Date_Facture de l'enregistrement actuellement sélectionné. ASSIGN v_date = Date_Facture |
|
Logique Une valeur logique peut être soit T soit F. Une valeur logique littérale ne doit pas être entourée de qualificateurs. |
Exemple logique Affecte la valeur logique T à la variable v_T1 . ASSIGN v_T1 = T Affecte la valeur du champ logique Approuvé de l'enregistrement actuellement sélectionné à la variable v_approuvé. ASSIGN v_approuvé = Approuvé |
4. Les noms de variables sont flexibles, avec quelques restrictions
Dans la plupart des cas, vous pouvez nommer une variable de la manière la plus adaptée à votre objectif.
Conventions volontaires
Ces conventions volontaires facilitent la lecture et la compréhension des scripts :
-
Donnez aux variables des noms descriptifs facilement compréhensibles qui se rapportent directement aux rôles qu'elles jouent dans un script. Un nom clairement descriptif mais légèrement plus long est préférable à un nom plus court et moins clair qui ne précise pas l'objectif de la variable.
-
Adoptez une convention de dénomination générale, par exemple en faisant précéder chaque nom de variable de v_.
Restrictions imposées
Analytics impose ces restrictions sur les noms de variables :
-
Longueur maximale 31 caractères
-
Caractères valides Caractères alphanumériques et le caractère de soulignement ( _ ). Le nom ne peut pas contenir de caractères spéciaux ni d'espaces et il ne peut pas commencer par un chiffre
Remarque
N'utilisez pas de caractères n'existant pas en anglais, comme é, dans les noms des variables qui seront utilisées pour la substitution de variables. Les noms de variables contenant des caractères n'existant pas en anglais provoqueront l'échec de la substitution de variables.
Les versions de cette rubrique d'aide dans une langue autre que l'anglais, telle que la version française, peuvent présenter des noms de variables comportant des caractères accentués. Dans un script réel, évitez d'utiliser des caractères accentués dans un nom de variable qui sera utilisé dans une substitution de variable.
-
Unicité Les noms de variables doivent être uniques au sein d'un projet Analytics car les variables fonctionnent globalement dans tout le projetAnalytics
Les noms des variables ne sont pas sensibles à la casse. Dans ACLScript, v_date_début et v_Date_Début sont la même variable.
5. Une variable a un champ d'application global
Une variable créée dans un script Analytics est disponible pour toutes les parties suivantes du script. Elle est également disponible pour tous les autres scripts du projet Analytics. Ce comportement est utile si vous voulez utiliser une variable dans un script enfant qui est définie dans un script parent.
ACLScript ne prend pas en charge la définition d'un champ d'application local des variables.
6. Une variable persiste jusqu'à ce que le projet Analytics soit fermé
Une variable reste en mémoire dans votre ordinateur jusqu'à ce que vous la supprimiez explicitement ou jusqu'à ce que le projet Analytics la contenant soit fermé.
Si vous voulez qu'une variable persiste après la fermeture d'un projet et qu'elle soit disponible lorsque vous rouvrez le projet, vous pouvez créer une variable permanente. Faites précéder le nom de la variable d'un trait de soulignement pour créer une variable permanente. Par exemple : v_date_début. La variable et la valeur qu'elle contient persistent. La seule façon de se débarrasser d'une variable permanente est de la supprimer explicitement.
Remarque
Les variables permanentes ne sont pas prises en charge dans les scripts qui s'exécutent dans Robots.
7. Une variable peut être explicitement supprimée
Pour supprimer explicitement une ou plusieurs variables actuelles, vous pouvez utiliser le bouton Supprimer dans l’onglet Variables, ou bien la commande DELETE.
Supprimer des variables en utilisant le bouton Supprimer
Pour supprimer explicitement une, plusieurs ou toutes les variables d’un projet Analytics, utilisez le bouton Supprimer situé en haut de l’onglet Variables dans le Navigateur.
-
Dans le Navigateur, ouvrez l'onglet Variables.
-
Effectuez l'une des actions suivantes :
-
Pour supprimer toutes les variables, cliquez sur Supprimer
. -
Pour supprimer des variables spécifiques, sélectionnez les variables concernées et cliquez sur Supprimer
.Utilisez la combinaison Ctrl+clic pour sélectionner plusieurs variables non adjacentes.
-
-
Cliquez sur Oui dans la boîte de dialogue de confirmation.
Les variables sont supprimées.
Supprimer des variables en utilisant la commande DELETE
Pour supprimer explicitement une ou toutes les variables d'un projet Analytics, utilisez la commande DELETE dans la ligne de commande ou dans un script.
Pour supprimer explicitement une variable particulière :
DELETE nom_variable OK
Pour supprimer explicitement toutes les variables :
DELETE ALL OK
Qu'est-ce qui est supprimé ?
Lorsque vous supprimez une variable, vous supprimez uniquement le conteneur nommé et la valeur qu'il contient de la mémoire de votre ordinateur.
La suppression d'une variable n'affecte pas les éléments liés à cette variable dans un script. Vous pouvez rétablir la variable en mémoire en exécutant manuellement la commande ASSIGN dans la ligne de commande ou en exécutant le script contenant l'affectation de la variable.
La suppression d'une variable et de sa valeur n'affecte pas non plus les éléments auxquels la valeur fait référence et qui ont une existence en dehors de la variable, comme une table Analytics.
Exemple
Les deux exemples ci-dessous illustrent comment une variable, et l'élément auquel elle fait référence, sont des entités distinctes. La suppression de l'un n'affecte pas l'autre.
Remarque
Les exemples utilisent la substitution de variable pour substituer le contenu de la variable au nom de la variable.
Dans le premier exemple, la suppression de la variable v_table_test supprime la valeur de la variable "Totaux_cumulés" mais ne supprime pas la table Totaux_cumulés proprement dite.
ASSIGN v_table_test = "Totaux_cumulés"
COMMENT Exécution réussie
OPEN %v_table_test%
COMMENT Supprimer la variable
DELETE v_table_test OK
COMMENT Exécution réussie
OPEN Totaux_cumulés
Dans le deuxième exemple, la suppression de la table Totaux_cumulés réelle n'a aucun effet sur la variable v_table_test, bien que la valeur de la variable se réfère maintenant à une table qui n'existe pas.
ASSIGN v_table_test = "Totaux_cumulés"
COMMENT Exécution réussie
OPEN %v_table_test%
COMMENT Supprimer la table à laquelle la variable renvoie
DELETE FORMAT %v_table_test% OK
COMMENT Echoue avec l'erreur "Table 'Totaux_cumulés' non valide"
OPEN %v_table_test%
8. Variables système créées automatiquement par certaines commandes Analytics
Lorsque vous exécutez certaines commandes Analytics, les variables système sont créées automatiquement. Par exemple, la commande COUNT génère la variable système COUNTn, qui contient le nombre d'enregistrements comptabilisés. Vous pouvez utiliser ces variables et les valeurs qu'elles contiennent dans les parties suivantes d'un script.
Par exemple, ce script se termine automatiquement si l'utilisateur sélectionne une table qui ne contient aucun enregistrement :
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée
OPEN %v_table_entrée%
COUNT
PAUSE "La table que vous avez sélectionnée ne contient aucun enregistrement. Le script va prendre fin." IF COUNT1 = 0
ESCAPE IF COUNT1 = 0
DO SCRIPT transactions_totaliser
Pour plus d'informations, consultez la section Variables système créées via des commandes Analytics.
L'importance du type de données d'une variable
Lorsqu'une commande ou une fonction Analytics fait référence à une variable, le type de données de la variable doit correspondre au type de données accepté par la commande ou la fonction. Si les types de données ne correspondent pas, vous obtenez une erreur et le traitement de la commande ou de la fonction échoue.
Pour éviter une erreur dans ces situations, vous pouvez utiliser les fonctions Analytics pour convertir la valeur stockée d'une variable en un type de données utilisable. Par exemple, cette expression convertit une date stockée dans une variable de caractère en un type de données DateHeure :
CTOD(v_date_caractère)
Cette expression convertit un nombre stocké dans une variable de caractère en un type de données numériques :
VALUE(v_nombre_caractère; 2)
Pour en savoir plus, voir Fonctions de conversion.
Remarque
Les dates et les nombres sont stockés dans des variables de type caractère s'ils sont fournis par l'utilisateur. Pour en savoir plus, voir Il existe différentes méthodes de création d'une variable.
Précisions au sujet des valeurs DateHeure
Dans Analytics, vous pouvez traiter des valeurs de type DateHeure qui utilisent soit le type de données DateHeure soit le type de données caractère. En général, le type de données associé aux valeurs de type DateHeure est basé sur la nature des données lorsque vous les importez dans Analytics.
Quelle est la conséquence pour les variables qui contiennent des valeurs de date, heure ou DateHeure ? Autrement dit, vous devez connaître le type de données des données sous-jacentes avec lesquelles vous travaillez. La syntaxe de votre script doit être différente en fonction du type de données utilisé.
Exemple
Les deux exemples ci-dessous montrent la syntaxe permettant de filtrer un champ date à partir d'une plage de dates fournie par l'utilisateur.
-
Dans le premier exemple, le champ date utilise un type de données DateHeure.
-
Dans le deuxième exemple, le champ date utilise un type de données de type caractère.
-
Dans les deux exemples, les variables v_date_début et v_date_fin utilisent le type de données caractère car elles ont été créées à l'aide de la commande ACCEPT ou de la commande DIALOG.
Dans le premier exemple, vous devez utiliser la fonction CTOD( ) pour convertir les valeurs de la plage de dates du type de données caractère au type de données DateHeure. (CTOD est l'abréviation de "Character to Date".) Vous devez effectuer cette conversion de manière à ce que le type de données des valeurs de la plage de dates corresponde au type de données du champ date.
SET FILTER TO BETWEEN(champ_date_dateheure; CTOD(v_date_début); CTOD(v_date_fin))
Dans le deuxième exemple, vous n'effectuez aucune conversion des valeurs de la plage de dates car elles correspondent déjà au type de données du champ date de type caractère. Si vous les convertissez, elles ne correspondent plus et vous obtenez une erreur de script.
SET FILTER TO BETWEEN(champ_date_caractère; v_date_début; v_date_fin)
Variable de substitution
Lorsque vous utilisez une variable de type caractère comme entrée pour une commande ou une fonction Analytics, vous devez substituer la valeur de la variable au nom de la variable. Si vous n'effectuez pas cette substitution, la commande ou la fonction tente d'opérer sur le nom réel de la variable plutôt que sur la valeur contenue dans la variable et une erreur se produit.
La substitution de variable est la méthode permettant de substituer la valeur contenue dans une variable de type caractère au nom de la variable. Pour utiliser la substitution de variable, vous devez entourer le nom de la variable de type caractère du symbole pourcentage ( % ). Par exemple, %v_table_entrée% récupère le nom réel de la table stockée dans v_table_entrée et le substitue au nom de la variable.
Étant donné que les entrées de l'utilisateur dans un script sont le plus souvent stockées dans une variable de type caractère, la substitution de variable est souvent utilisée pour incorporer les entrées de l'utilisateur dans la logique du script.
Remarque
La substitution de variable est uniquement destinée à être utilisée avec des variables de type caractère qui contiennent des valeurs représentant des données de type caractère. Un résultat peu fiable ou une erreur peut se produire si vous utilisez la substitution de variable avec des variables d'autres types de données ou avec des variables de type caractère qui contiennent des valeurs représentant un nombre, une DateHeure ou une valeur logique.
Exemple
Vous voulez un script qui permette à un utilisateur de sélectionner une table d'entrée. Le script ouvre ensuite la table sélectionnée par l'utilisateur. Vous utilisez la substitution de variable avec la commande OPEN afin que la commande agisse sur le nom de table correct.
Lorsque vous spécifiez OPEN %v_table_entrée%, ce que le script voit réellement est :
OPEN Nom_de_table_sélectionnée_par_utilisateur
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée
OPEN %v_table_entrée%
Si vous n'utilisez pas la substitution de variable dans cet exemple, le script échouera très probablement parce que la commande OPEN essaie d'ouvrir une table appelée v_table_entrée et qu'aucune table de ce nom n'existe.
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée
OPEN v_table_entrée
L'utilisation de la substitution de variable peut être délicate
Certaines situations peuvent donner l'impression de nécessiter une substitution de variable, mais en réalité la substitution de variable provoque une erreur.
Prenons l'un des exemples présentés précédemment :
SET FILTER TO BETWEEN(champ_date_caractère; v_date_début; v_date_fin)
Dans cet exemple, vous comparez des valeurs de date stockées sous forme de données de type caractère à la fois dans les variables et dans le champ. L'utilisation de la substitution de variable avec les variables devrait donc fonctionner :
SET FILTER TO BETWEEN(champ_date_caractère; %v_date_début%; %v_date_fin%)
Pourquoi la substitution de variable provoque-t-elle une erreur dans cette situation ? La réponse est que la substitution de variable est absolument littérale. Pour résoudre l'erreur, recherchez les valeurs précises stockées dans les variables, substituez-les manuellement dans l'expression et examinez l'expression qui apparaît. Par exemple :
SET FILTER TO BETWEEN(champ_date_caractère; 20000101; 20001231)
Cette expression compare des dates qui utilisent des données de type caractère avec des nombres qui, après substitution, utilisent un type de données numérique, ce qui constitue une non-correspondance entre types de données.
Comme vous avez spécifié un champ de type caractère avec BETWEEN( ), la fonction interprète automatiquement les valeurs v_date_début et v_date_fin comme des valeurs de type caractère et il n'est pas nécessaire d'utiliser la substitution de variable.
Pour plus d'informations, consultez la section Dépannage.
Une exception à la règle
Dans certains cas, vous pouvez utiliser sans problème la substitution de variable avec une variable numérique. L'avantage est que la valeur de la variable numérique est capturée dans le journal, ce qui peut être utile pour le dépannage.
Les deux exemples ci-dessous assignent la valeur de la variable numérique COUNT1 à la variable numérique v_compteur. Cependant, dans le premier exemple, la valeur réelle attribuée n'est pas capturée dans le journal. Dans le deuxième exemple, la valeur réelle est capturée.
COMMENT entrée de journal : ASSIGN v_compteur = COUNT1
ASSIGN v_compteur = COUNT1
COMMENT entrée de journal : ASSIGN v_compteur = 500
ASSIGN v_compteur = %COUNT1%
Gestion manuelle des variables
Vous pouvez gérer manuellement les variables à l'aide de la boîte de dialogue Variables disponible dans le menu principal d'Analytics. Vous pouvez créer, renommer, dupliquer ou supprimer des variables ou bien mettre à jour les valeurs des variables.
Toute maintenance que vous effectuez n'affecte que l'instance actuelle de la variable en mémoire. Par exemple, si vous renommez une variable, vous ne renommez que l'instance de la variable en mémoire. Vous ne renommez pas la variable dans un script.
Remarque
La possibilité de gérer manuellement les variables via l'interface utilisateur peut être pratique dans certains cas. La gestion manuelle n'offre aucune fonctionnalité supplémentaire par rapport à la gestion des variables à l'aide de commandes.
La plupart des rédacteurs de scripts travaillent avec des variables exclusivement dans l'éditeur de scripts et les fonctions associées telles que la ligne de commande et l'onglet Variables.
- Dans le menu principal Analytics, sélectionnez Modifier > Variables.
La boîte de dialogue Variables s'ouvre et affiche la liste de toutes les variables système et définies par l'utilisateur du projet. Les variables système sont celles créées automatiquement par les commandes.
- Effectuez l'une des opérations suivantes :
Créer une nouvelle variable Cliquez sur Nouveau pour ouvrir le Générateur d'expression.
Dans la zone de texte Expression, saisissez la valeur ou l'expression à attribuer à la variable.
Les valeurs littérales doivent utiliser le format et les qualificateurs qui conviennent (lorsqu'ils sont requis). Pour plus d'informations, voir Le type de données d'une variable est automatiquement spécifié.
Facultatif. Cliquez sur Vérifier pour vérifier la validité de la valeur ou de l'expression.
Saisissez le nom de la variable dans la zone de texte Enregistrer sous.
Pour plus d'informations, consultez la rubrique
.Cliquez sur OK.
La variable est créée et apparaît dans l'onglet Variables.
Mettre à jour la valeur d'une variable Sélectionnez une variable dans la liste et cliquez sur OK pour ouvrir le Générateur d'expression.
Dans la zone de texte Expression, mettez à jour la valeur ou l'expression attribuée à la variable.
Les valeurs littérales doivent utiliser le format et les qualificateurs qui conviennent (lorsqu'ils sont requis). Pour plus d'informations, voir Le type de données d'une variable est automatiquement spécifié.
Facultatif. Cliquez sur Vérifier pour vérifier la validité de la valeur ou de l'expression.
Cliquez sur OK.
La valeur attribuée à la variable est mise à jour dans la mémoire de votre ordinateur.
Renommer une variable Sélectionner une variable dans la liste et cliquer sur Renommer.
Dans la zone de texte Renommer, saisissez un nouveau nom, puis cliquez sur OK.
La variable est renommée dans la mémoire de votre ordinateur.
Cliquez sur Annuler pour fermer la boîte de dialogue Variables.
Dupliquer une variable Sélectionnez une variable dans la liste, puis cliquez sur Doublon.
La variable et sa valeur sont dupliquées dans la mémoire de votre ordinateur. Un suffixe numérique est ajouté au nom de la variable dupliquée.
Effectuez l'une des actions suivantes :
Cliquez sur Terminer pour fermer la boîte de dialogue Variables.
Cliquez sur OK pour mettre à jour la valeur ou l'expression affectée à la variable.
Supprimer une variable Sélectionnez une variable dans la liste.
Facultatif. Appuyez sur Maj tout en cliquant ou sur Ctrl tout en cliquant pour sélectionner plusieurs variables à supprimer.
Cliquez sur Supprimer.
Re-cliquez sur Supprimer.
La ou les variables sont supprimées de la mémoire de votre ordinateur.
Cliquez sur Terminer pour fermer la boîte de dialogue Variables.
Exemples d'utilisation de variables
Vous voulez créer un script qui calcule les montants de la TVA, avec la possibilité de gérer des taux deTVA qui changent périodiquement.
Variables requises
Pour permettre la configuration de différents taux d'imposition et d'une plage de dates, vous utilisez la Commande ASSIGN pour créer l'ensemble de variables suivant.
| Nom de variable | La variable contient |
|---|---|
| v_taxe_1 | Le premier taux de TVA |
| v_taxe_2 | Le deuxième taux de TVA |
| v_taxe_2_début | La date à laquelle le deuxième taux de TVA entre en vigueur |
| v_taxe_2_fin | La date à laquelle le deuxième taux de TVA prend fin ou la date du jour si le taux de TVA est toujours en vigueur. |
Le script
COMMENT Créer et initialiser des variables pour les taux de TVA et une plage de dates
COMMENT Si nécessaire, vous pouvez étendre le script en ajoutant des variables supplémentaires relatives au taux de TVA et à la plage de dates
ASSIGN v_taxe_1 = 0.05
ASSIGN v_taxe_2 = 0.06
ASSIGN v_taxe_2_début = `20210701`
ASSIGN v_taxe_2_fin = `20211231`
COMMENT Créer un champ calculé conditionnel qui utilise des taux de TVA différents pour deux périodes différentes
DEFINE FIELD taxe_vente COMPUTED
Montant_Facture * v_taxe_2 IF BETWEEN(Date_Facture; v_taxe_2_début; v_taxe_2_fin)
Montant_Facture * v_taxe_1
Les variables créées et initialisées dans l'onglet Variables
Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.
Comme la commande ASSIGN crée les variables, le type de données des valeurs attribuées dicte le type de données des variables. Dans cet exemple, il y a deux variables numériques et deux variables de type DateHeure.
Vous voulez créer un script qui permet à un utilisateur de sélectionner n'importe quelle table dans un projet Analytics, de filtrer les enregistrements de la table en fonction d'une plage numérique et d'une plage de dates ainsi que de sortir les enregistrements filtrés dans une nouvelle table.
Variables requises
Pour capturer l'entrée de l'utilisateur pour le script, vous utilisez le Commande ACCEPT pour créer l'ensemble de variables suivant.
| Nom de variable | La variable contient |
|---|---|
| v_table_entrée | Le nom de la table Analytics à utiliser comme entrée |
| v_table_sortie | Le nom de la table de sortie Analytics pour les enregistrements filtrés |
| v_champ_numérique | Le champ numérique de la table d'entrée à utiliser avec la plage numérique |
| v_montant_min | La valeur extrême inférieure de la plage numérique |
| v_montant_max | La valeur extrême supérieure de la plage numérique |
| v_champ_date | Le champ date dans la table d'entrée à utiliser avec la plage de dates |
| v_date_début | La date la plus ancienne de la plage de dates |
| v_date_fin | La date la plus récente de la plage de dates |
Considérations relatives à la rédaction des scripts
Comme vous utilisez la commande ACCEPT pour inviter de façon interactive les utilisateurs de saisie des valeurs de script, chaque valeur d'entrée est stockée dans une variable de type caractère nommée même si la valeur représente un nombre ou une date. Pour ce faire, vous devez utiliser les fonctions Analytics à certains endroits du script pour convertir la valeur de la variable dans le type de données requis par la logique du script.
Par exemple :
-
La fonction VALUE( ) convertit le nombre stocké dans v_montant_min d'un type de données caractère en un type de données numérique :
VALUE(v_montant_min; 2)
-
La fonction CTOD( ) convertit la date stockée dans v_date_début d'un type de données caractère en un type de données DateHeure.
CTOD(v_date_début)
Vous devez effectuer ces conversions de type de données parce que les valeurs de ces variables sont comparées aux valeurs des champs qui utilisent un type de données numérique ou DateHeure.
Vous devez également utiliser la substitution de variable pour accéder aux noms réels des tables et des champs stockés dans certaines variables.
Par exemple :
OPEN %v_table_entrée%
Le script
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur une table d'entrée et une table de sortie
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée; "Spécifier un nom de table de sortie (sans espace) :" TO v_table_sortie
COMMENT Ouvrir la table d'entrée sélectionnée par l'utilisateur
OPEN %v_table_entrée%
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur un champ numérique et une plage numérique
ACCEPT "Sélectionner un champ numérique selon lequel filtrer :" FIELDS "N" TO v_champ_numérique; "Spécifier un montant minimum :" TO v_montant_min; "Spécifier un montant maximum :" TO v_montant_max
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur un champ date et une plage de date
ACCEPT "Sélectionner un champ date pour appliquer le filtre :" FIELDS "D" TO v_champ_date, "Préciser une date de début (AAAAMMJJ) :" TO v_date_début, "Préciser une date de fin (AAAAMMJJ) :" TO v_date_fin
COMMENT Filtrer la table d'entrée en fonction des plages numériques et de dates de l'utilisateur
SET FILTER TO BETWEEN(%v_champ_numérique%; VALUE(v_montant_min; 2); VALUE(v_montant_max; 2)) AND BETWEEN(%v_champ_date%; CTOD(v_date_début); CTOD(v_date_fin))
COMMENT Extraire l'ensemble d'enregistrements filtrés vers la table de sortie spécifiée par l'utilisateur
EXTRACT RECORD TO %v_table_sortie%
COMMENT Ouvrir la table de sortie avec les enregistrements filtrés
OPEN %v_table_sortie%
Les variables créées et initialisées dans l'onglet Variables
Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.
Comme la commande ACCEPT crée les variables, celles-ci utilisent le type de données caractère même si la valeur de la variable représente un nombre ou une date.
WRITE1 est une variable système. Dans cette situation, la valeur représente le nombre d'enregistrements dans la table de sortie (v_table_sortie). Pour plus d'informations, consultez la section Variables système créées via des commandes Analytics.
Vous pouvez pré-remplir une valeur par défaut dans un champ d'entrée utilisateur au lieu de présenter un champ vide à l'utilisateur. Une valeur par défaut permet d'économiser des efforts et de réduire les erreurs en affichant le format correct pour une valeur d'entrée.
Pour spécifier une valeur par défaut, vous devez d'abord utiliser la Commande ASSIGN pour initialiser une variable avec la valeur par défaut. Vous utilisez ensuite la Commande ACCEPT avec le même nom de variable pour permettre à l'utilisateur de remplacer facultativement la valeur par défaut.
Cet exemple est le même que celui de Variables pour les entrées utilisateur. ci-dessus, avec l'ajout d'une section préliminaire pour initialiser les variables avec des valeurs par défaut pour les plages numériques et de dates.
Initialisation des variables avec des valeurs par défaut
Pour initialiser des variables avec des valeurs par défaut, vous utilisez la commande ASSIGN pour créer les variables suivantes.
| Nom de variable | La variable contient |
|---|---|
| v_montant_min | La valeur extrême inférieure de la plage numérique |
| v_montant_max | La valeur extrême supérieure de la plage numérique |
| v_nombre_de_mois | La durée de la plage de dates calculée en mois |
| v_date_fin | La date la plus récente de la plage de dates (calculée) |
| v_date_début | La date la plus ancienne de la plage de dates (calculée) |
Considérations relatives à la rédaction des scripts
Étant donné que vous remplissez au préalable des valeurs par défaut dans des champs créés par la commande ACCEPT, ces valeurs doivent utiliser le type de données caractère. Si vous tentez de pré-remplir des valeurs d'un autre type de données, les valeurs n'apparaissent pas.
Pour ce faire, vous devrez peut-être utiliser les fonctions Analytics pour convertir les valeurs par défaut dans le type de données caractères. (Plus tard dans le script, vous pouvez utiliser d'autres fonctions pour retransformer les valeurs des variables dans le type de données requis par la logique du script)
Par exemple :
-
La fonction STRING( ) convertit le nombre 5000 en une chaîne de caractères qui est ensuite stockée dans la variable v_montant_min :
ASSIGN v_montant_min = STRING(5000; 4)
-
La fonction DATE( ) convertit la date de fin calculée en une chaîne de caractères qui est ensuite stockée dans la variable v_date_fin :
ASSIGN v_date_fin = ALLTRIM(DATE(EOMONTH(TODAY(),-1)))
Calcul de la plage de dates
Le calcul de la plage de dates fixe la plage par défaut sur les 12 mois complets précédant la date actuelle. Pour modifier la durée de la plage, mettez à jour la valeur attribuée à la variable v_nombre_de_mois. Pour en savoir plus sur la fonction utilisée pour calculer la plage de dates, voir Fonction EOMONTH( ).
Le script
COMMENT Définir le format de la date pour la durée de la session Analytics
SET DATE "AAAAMMJJ"
COMMENT Spécifier les valeurs par défaut pour les valeurs extrêmes inférieure et supérieure de la plage numérique
ASSIGN v_montant_min = STRING(5000; 4)
ASSIGN v_montant_max = STRING(100000; 6)
COMMENT Indiquer la longueur de la plage de dates calculée en mois
ASSIGN v_nombre_de_mois = 12
COMMENT Calculer les dates de début et de fin de la plage de dates par défaut en fonction de la date actuelle et de la durée spécifiée par v_nombre_de_mois
ASSIGN v_date_fin = ALLTRIM(DATE(EOMONTH(TODAY(),-1)))
ASSIGN v_date_début = ALLTRIM(DATE(EOMONTH(CTOD(v_date_fin), -v_nombre_de_mois) + 1))
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur une table d'entrée et une table de sortie
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée; "Spécifier un nom de table de sortie (sans espace) :" TO v_table_sortie
COMMENT Ouvrir la table d'entrée sélectionnée par l'utilisateur
OPEN %v_table_entrée%
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur un champ numérique et une plage numérique
ACCEPT "Sélectionner un champ numérique selon lequel filtrer :" FIELDS "N" TO v_champ_numérique; "Spécifier un montant minimum :" TO v_montant_min; "Spécifier un montant maximum :" TO v_montant_max
COMMENT Créer une boîte de dialogue pour demander à l'utilisateur un champ date et une plage de date
ACCEPT "Sélectionner un champ date pour appliquer le filtre :" FIELDS "D" TO v_champ_date, "Préciser une date de début (AAAAMMJJ) :" TO v_date_début, "Préciser une date de fin (AAAAMMJJ) :" TO v_date_fin
COMMENT Filtrer la table d'entrée en fonction des plages numériques et de dates de l'utilisateur
SET FILTER TO BETWEEN(%v_champ_numérique%; VALUE(v_montant_min; 2); VALUE(v_montant_max; 2)) AND BETWEEN(%v_champ_date%; CTOD(v_date_début); CTOD(v_date_fin))
COMMENT Extraire l'ensemble d'enregistrements filtrés vers la table de sortie spécifiée par l'utilisateur
EXTRACT RECORD TO %v_table_sortie%
COMMENT Ouvrir la table de sortie avec les enregistrements filtrés
OPEN %v_table_sortie%
Vous voulez créer un script qui calcule un sous-total basé sur les valeurs d'un champ numérique. Le sous-total commence à zéro (0.00) pour chaque valeur unique dans un champ identifiant
Variables requises
Le script utilise des variables à trois fins différentes :
-
la saisie utilisateur
-
le stockage temporaire des valeurs
-
la configuration de scripts
Saisie de l'utilisateur
Pour capturer l'entrée de l'utilisateur pour le script, vous utilisez le Commande ACCEPT pour créer l'ensemble de variables suivant.
| Nom de variable | La variable contient |
|---|---|
| v_table_entrée | Le nom de la table Analytics à utiliser comme entrée |
| v_table_sortie | Le nom de la table de sortie Analytics pour les sous-totaux |
| v_id_champ | Le champ de la table d'entrée contenant des valeurs d'identifiant telles que les identifiants des clients ou des fournisseurs |
| v_champ_numérique | Le champ numérique de la table d'entrée à utiliser pour le calcul de sous-totaux |
Stockage temporaire des valeurs et configuration des scripts
Pour permettre le stockage temporaire de valeurs pendant que le script traite la table d'entrée enregistrement par enregistrement, vous utilisez la Commande ASSIGN pour créer, et aussi mettre à jour, les deux variables suivantes. Si nécessaire, vous pouvez configurer un point de départ pour le sous-total autre que zéro (0.00).
| Nom de variable | La variable contient |
|---|---|
| v_id_valeur | La valeur de l'identifiant dans l'enregistrement que le script est en train de traiter |
| v_total_cumulé |
La valeur du sous-total dans l'enregistrement que le script est en train de traiter |
Le script
COMMENT
Permettre l'écrasement des fichiers sans afficher de boîte de dialogue de confirmation
END
SET SAFETY OFF
COMMENT
Créer une boîte de dialogue pour demander à l'utilisateur une table d'entrée et une table de sortie
END
ACCEPT "Sélectionner une table d'entrée :" FIELDS "xf" TO v_table_entrée; "Spécifier un nom de table de sortie (sans espace) :" TO v_table_sortie
OPEN %v_table_entrée%
COMMENT
Créer une boîte de dialogue pour demander à l'utilisateur un champ d'identifiant de caractère
END
ACCEPT "Sélectionner un champ d'identifiant caractère :" FIELDS "C" TO v_id_champ
COMMENT
Créer une boîte de dialogue pour demander à l'utilisateur un champ numérique
END
ACCEPT "Sélectionner un champ numérique :" FIELDS "N" TO v_champ_numérique
COMMENT
Indexer (trier) la table sur le champ de l'identifiant caractère
END
INDEX ON %v_id_champ% TO "ID_champ_trié"
SET INDEX TO "ID_champ_trié"
COMMENT
Affecte la valeur réelle du champ d'identifiant du caractère à la variable v_id_valeur.
Lorsque v_table_entrée est ouverte pour la première fois, la valeur actuelle est la première valeur du champ. Par la suite, la valeur courante dépend de l'enregistrement en cours de traitement par le script.
END
ASSIGN v_id_valeur = %v_id_champ%
COMMENT
Définir sur zéro (0.00) la valeur de départ du sous-total
END
ASSIGN v_total_cumulé = 0,00
COMMENT
Traiter la table enregistrement par enregistrement. Pour chaque identifiant unique, calculez un sous-total pour le champ numérique.
END
GROUP IF v_id_valeur = %v_id_champ%
ASSIGN v_total_cumulé = v_total_cumulé+ %v_champ_numérique%
EXTRACT %v_id_champ% %v_champ_numérique% v_total_cumulé AS "%v_champ_numérique% total cumulé" TO %v_table_sortie%
ELSE
ASSIGN v_id_valeur = %v_id_champ%
ASSIGN v_total_cumulé = 0,00
ASSIGN v_total_cumulé = v_total_cumulé+ %v_champ_numérique%
EXTRACT %v_id_champ% %v_champ_numérique% v_total_cumulé AS "%v_champ_numérique% total cumulé" TO %v_table_sortie%
END
COMMENT Ouvrir la table de sortie avec les sous-totaux calculés
OPEN %v_table_sortie%
COMMENT Rétablir le comportement par défaut qui consiste à afficher une boîte de dialogue de confirmation avant d'écraser des fichiers
SET SAFETY ON
Les variables créées et initialisées dans l'onglet Variables
Après avoir exécuté le script, les variables créées et initialisées sont affichées dans l'onglet Variables.
Les variables créées par la commande ACCEPT utilisent le type de données caractère. Les variables créées par la commande ASSIGN ( v_id_valeur , v_total_cumulé ) utilisent le type de données de la valeur attribuée.
Les valeurs attribuées à v_id_valeur et v_total_cumulé sont continuellement mises à jour au fur et à mesure de la progression du script. L'onglet Variables affiche leurs valeurs finales avant la fin du script.
Pour plus d'informations sur les variables système ( WRITEn ) et leur modèle de numérotation, voir Variables système numérotées de façon incrémentielle.
Dépannage
L'utilisation de variables dans un script révèle deux catégories générales d'erreurs courantes :
-
Résultats inattendus Le script s'exécute jusqu'au bout mais l'analyse qui inclut des variables ne produit pas les résultats escomptés.
-
Problème de type de données Le script échoue avec une erreur liée au type de données telle que "Non-concordance des types d'expression" ou "Expression caractère requise".
Résultats inattendus
Pour le premier type d'erreur, essayez cette méthode de dépannage :
-
Dans le Navigateur, ouvrez l'onglet Variables.
-
Dans la ligne de commande Analytics, entrez DELETE ALL OK pour supprimer toutes les variables existantes.Analytics
Si la zone de texte de la Ligne de commande n'est pas visible, sélectionnez Fenêtre > Ligne de commande.
-
Dans l'éditeur de script, utilisez l'option Étape
pour parcourir le script ligne par ligne et suivre la création de chaque variable et de chaque valeur assignée dans l'onglet Variables.Vous pouvez découvrir que la valeur affectée à une variable n'est pas celle que vous vouliez et que la logique de votre script doit être ajustée. Pour plus d'informations, consultez la section Test et débogage de scripts.
Remarque
Vous ne pouvez pas suivre par étape le contenu des commandes multilignes comme GROUP, LOOP, ou DEFINE FIELD . . . COMPUTED. Pour tester la logique du script dans cette situation, copiez temporairement la logique du script sans la syntaxe de commande environnante dans un script distinct.
Problème de type de données
Lorsque vous développez des scripts utilisant des variables, il est possible que vous rencontriez des erreurs dues à des types de données non correspondantes. Les erreurs sont notamment probables si vous combinez des fonctions de conversion et de substitution de variable dans la même expression.
Il est normal de rencontrer des erreurs. Pour les surmonter, il faut tester différentes approches et garder ces principes à l'esprit :
-
Faites très attention aux types de données des variables dans chaque élément d'une expression. Tous les types de données d'une expression sont-ils alignés comme l'exige ACLScript ?
-
Rappelez-vous que la substitution de variable est absolument littérale. Si vous pensez que la substitution de variable est à l'origine d'une erreur, recherchez la valeur précise stockée dans une variable et substituez manuellement cette valeur dans l'expression. Cette simple étape de résolution peut révéler le problème.
-
L'insertion de la commande DISPLAY VARIABLES à différents endroits dans un script vous permet de capturer l'état ponctuel des variables du projet.
-
Le fait de parcourir un script ligne par ligne et de définir des points d'arrêt peut considérablement faciliter la résolution du problème. Pour plus d'informations, consultez la section Test et débogage de scripts.