Utilisation des variables avec une fonction pour permettre l'intervention de l'utilisateur

Jusqu'à présent, nous vous avons montré comment utiliser des champs et des valeurs littérales comme entrées pour les fonctions. Cette approche est relativement simple, et, dans bien des cas dans Analytics, c'est ce dont vous avez besoin.

Dans les scripts Analytics, les variables sont généralement utilisées comme entrées pour des fonctions plutôt que des champs ou des valeurs littérales.

Dans ce tutoriel, nous étudierons comment utiliser des variables avec une fonction. Ce tutoriel s'achève sur un script simple incluant une fonction avec des variables comme entrées. Les variables permettent à l'utilisateur de préciser les valeurs d'entrées réelles de manière interactives.

Qu'est-ce qu'une variable ? En quoi les variables sont-elles utiles ?

Vous pouvez imaginer une variable comme un contenant nommé dans la mémoire d'un ordinateur. Vous nommez la variable lors de sa création. Une variable peut stocker de manière temporaire ou permanente n'importe quelle valeur sélectionnée ou définie par l'utilisateur.

Les variables ont deux qualités très pratiques :

  • La flexibilité Les variables rendent un script bien plus flexible.

    Par exemple, au lieu d'exiger un nom de champ spécifique ou un ensemble de dates, un script peut utiliser des variables pour permettre à l'utilisateur de sélectionner ou de préciser le nom de champ ou les dates de son choix.

  • La clarté Les variables rendent le script plus compréhensible quand vous le vérifiez ou le mettez à jour.

    Il est bien plus facile de comprendre une variable au nom évocateur comme valeur d'entrée d'une fonction plutôt qu'une donnée brute. Vous verrez par vous-même la différence avec ces deux exemples de la fonction BETWEEN( ).

Pour plus d'informations, consultez la section Variables.

BETWEEN( ) sans variables

Rappelez-vous de l'exemple BETWEEN( ) que nous avons utilisé pour créer un filtre dans un tutoriel précédent :

BETWEEN(Date_facture; `20000101`; `20000331`)

Le filtre restreint les enregistrements du champ Date_facture au premier trimestre de l'an 2000.

Cette version de BETWEEN( ) marche très bien si changer manuellement le nom du champ et les dates de début et de fin à chaque fois que vous voulez l'utiliser dans un contexte différent ne vous embête pas.

Mais que se passe-t-il si vous souhaitez inclure ce filtre dans un script qui va être utilisé par d'autres utilisateurs, sur des données différentes et que ces personnes ne savent pas mettre à jour les valeurs d'entrée d'une fonction ?

Remarquez également qu'un seul coup d'œil ne permet pas de savoir avec certitude le but d'une donnée brute fournissant les valeurs d'entrée d'une fonction.

BETWEEN( ) avec variables

Au lieu de préciser un champ et des valeurs de date littérales comme valeurs d'entrée pour la fonction BETWEEN( ) vous pouvez définir des variables :

BETWEEN(v_champ_date; v_date_début; v_date_fin)

Conjointement avec un script interactif, cette version de la fonction BETWEEN( ) permet à l'utilisateur de choisir le champ date de son choix et de préciser les deux dates limites.

Remarquez également qu'en jetant un seul coup d'œil à la fonction, le but de chaque valeur d'entrée est claire.

Remarque

Par convention, les rédacteurs de scripts font précéder les noms de leurs variables avec un "v_" pour pouvoir distinguer les variables du reste dans un script complexe.

Point clé

Avec des variables, vous pouvez créer des fonctions au champ d'application plus large et plus flexible.

Tester la fonction BETWEEN( ) avec des variables

Vous pouvez tester la fonction BETWEEN( ) dans la ligne de commande Analytics pour voir exactement comment les variables fonctionnent.

Tester les fonctions dans la ligne de commande est entièrement expliqué dans des tutoriels précédents : Se familiariser avec différentes fonctions.

Créer les variables

  1. Dans Analytics, en bas du Navigateur, cliquez sur l'onglet Variables.

    L'onglet Variables affiche toutes les variables existantes dans un projet Analytics et la valeur que chaque variable contient.

  2. Créez les trois exemples de variables en saisissant les définitions de variables suivantes dans la ligne de commande, l'une après l'autre :
    • v_champ_date = `20170715`

      Pour cet exemple, nous ne définirons qu'une seule valeur littérale pour la variable v_champ_date plutôt qu'un champ réel.

    • v_date_début = `20170701`
    • v_date_fin = `20170731`

    Dans l'onglet Variables, vous devriez voir les trois variables que vous venez de créer avec la valeur qui leur a été attribuée.

Tester BETWEEN( )

  1. Copiez-collez l'exemple de la fonction BETWEEN( ) dans la ligne de commande :

    BETWEEN(v_champ_date; v_date_début; v_date_fin)

  2. Tapez DISPLAY et une espace avant l'exemple collé, et appuyez sur Entrée.

    Le résultat devrait être T pour Vrai (True), en fonction des valeurs contenues dans les variables :

    le 15 juillet 2017 se situe entre la date de début et la date de fin.

Observez le résultat après avoir changé une des valeurs des variables

  1. Mettez à jour la valeur dans v_date_début en saisissant ce qui suit dans la ligne de commande :

    v_date_début = `20170716`

    Dans l'onglet Variables, vous devriez voir que la valeur dans v_date_début s'est mise à jour au 16 juillet 2017, qui tombe après la valeur v_champ_date.

  2. Testez à nouveau la fonction BETWEEN( ) dans la ligne de commande.

    Le résultat devrait être F pour Faux (False), en fonction des valeurs contenues dans les variables :

    le 15 juillet 2017 ne se trouve pas entre la date de début et la date de fin.

Tester la fonction BETWEEN( ) dans un script

Le script simple ci-dessous permet à l'utilisateur d'appliquer un filtre date à n'importe quelle table Analytics avec un champ date.

Ne vous inquiétez pas si vous ne comprenez pas toute la syntaxe du script. Le plus important est de voir la fonction BETWEEN( ) en action dans un script.

Un COMMENT avant chaque partie de syntaxe du script vous explique de manière simple ce qui se passe. Les fonctions sont surlignées en marron.

Comment exécuter l'exemple de script dans Analytics

  1. Ouvrez un projet dans Analytics contenant une ou plusieurs tables avec des champs date.

    Exemple de projet.ACL contient plusieurs tables avec des champs date.

  2. Créez un nouveau script vide :
    1. Dans le Navigateur, cliquez avec le bouton droit de la souris sur un dossier ou sur l'entrée de projet située au plus haut niveau Nouveau > Script.
    2. Copiez-collez l'intégralité du script ci-dessous dans le nouveau script dans l'Éditeur de script.
    3. Enregistrez le projet.
  3. Cliquez sur Exécuter pour exécuter le script.
  4. La boîte de dialogue vous demande de sélectionner une table et un champ date ainsi que de spécifier les dates de début et de fin.

    Le script exécute et filtre la table que vous avez choisie en fonction du champ et des dates fournies.

    Astuce

    Si vous avez une table vide ou un nombre important d'enregistrements, regardez les dates dans la table non filtrée, puis ré-exécutez le script de nouveau avec les dates limites qui vous produiront un petit nombre d'enregistrements.

Éléments à noter

  • Remarquez que, dans le tableau filtré, la fonction BETWEEN( ) apparaît dans la zone de texte Filtre avec les valeurs d'entrée réelles spécifiées.
  • Regardez l'onglet Variables. Les valeurs des trois exemples de variables se mettent à jour avec les valeurs que vous avez sélectionnées et spécifiées lorsque vous avez exécuté le script.

Exemple de script : filtrer les enregistrements par date

L'exemple de script filtre les enregistrements dans une table par date, à l'aide des dates précisées.

Remarque

La fonction CTOD( ) est imbriquée dans la fonction BETWEEN( ). La fonction CTOD( ) convertit les valeurs caractères en valeurs date, car la situation le requiert.

Pour en savoir plus, consultez la rubrique Commande ACCEPT.

COMMENT
Ce script simple vous permet d'appliquer un filtre date à une table Analytics ayant un champ date.
END

COMMENT Vous invite à sélectionner une table dans le projet Analytics.
ACCEPT "Sélectionner une table avec un champ date :" FIELDS "xf" TO v_nom_table

COMMENT Ouvre la table sélectionnée.
OPEN %v_nom_table%

COMMENT Vous invite à sélectionner un champ dans la table.
ACCEPT "Sélectionner un champ date :" FIELDS "D" TO v_champ_date

COMMENT Vous invite à définir la date de début et la date de fin pour le filtre.
ACCEPT "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 Applique le filtre à la table et au champ que vous avez sélectionnés.
SET FILTER TO BETWEEN(%v_champ_date%; CTOD(%v_date_début%); CTOD(%v_date_fin%))

Et ensuite ?

Examinez et exécutez un script utilisant plusieurs fonctions pour vous aider à accomplir une tâche concrète : Pour résumer : utilisation des fonctions dans un script