Écrire des scripts pour Analytics Exchange

Les scripts Analytics ne se limitent pas à exécuter des outils d'analyse Analytics. En les convertissant en scripts d'outils d'analyse et en les compressant en Apps Analyse, vous pouvez planifier des scripts et les exécuter dans Analytics Exchange.

De quoi avez-vous besoin ?

Pour réaliser ce démarrage rapide, vous avez besoin des éléments suivants :

  • une installation d'AX Client avec une connexion active à une instance AX Serveur
  • une installation d'Analytics de la même édition (Unicode ou non Unicode) que votre installation Analytics Exchange
  • un accès aux échantillons de données fournis avec Analytics

    Remarque

    Par défaut, les exemples de projets de données sont installés sous C:\Utilisateurs\nomutilisateur\Documents\ACL Data\Exemples de fichiers de données dans votre système de fichiers local.

Exécution du script sur AX Serveur

Analytics Exchange utilise le moteur AX pour exécuter des scripts identifiés comme outils d'analyse dans AX Serveur. Une fois que le script est converti en outil d'analyse et importé sur le serveur, chaque exécution de script d'outil d'analyse représente une seule tâche avec son propre ensemble de résultats.

Lorsqu'un outil d'analyse s'exécute sur AX Serveur :

  1. Un nouveau dossier temporaire est créé sur le serveur pour la tâche.
  2. L'outil d'analyse et les tables qui lui sont associées sont exportés dans un nouveau projet Analytics dans le dossier temporaire.
  3. Le moteur AX sur le serveur ouvre le projet Analytics, crée un nouveau journal des commandes et exécute le script de l'outil d'analyse.
  4. Les fichiers, tables ou traces spécifiés par l'en-tête d'outil d'analyse sont conservés dans un dossier Résultats associé à l'exécution de la tâche spécifique.
  5. Le dossier temporaire et ses fichiers sont supprimés du serveur.

Astuce

Parce que le moteur AX exécute des scripts d'outils d'analyse dans un dossier temporaire, utilisez des chemins d'accès relatifs pour renvoyer aux dossiers et aux fichiers sur le serveur :

  • script dans AnalyticsC:\ACL Data\MyProject\output\results
  • script dans Analytics Exchangeoutput\results

Convertir un script en outil d'analyse

Vous convertissez les scripts Analytics en outils d'analyse en incluant un en-tête d'outil d'analyse et en supprimant les fonctionnalités Analytics qui ne s'exécutent pas sur AX Serveur.

Le script Analytics suivant s'exécute dans Analytics et effectue ce qui suit :

  1. Importe les données à partir du fichier Échelles_salaires.xlsx dans l'échantillon de données ACL_Rockwood à l'aide de la commande IMPORT.
  2. Trie les données par expression à l'aide de la commande SORT.
  3. Demande à l'utilisateur un nombre d'enregistrements à extraire à l'aide de la commande ACCEPT.
  4. Extrait le nombre d'enregistrements spécifié par l'utilisateur dans la table triée à l'aide de la commande ACCEPT.
SET SAFETY OFF

COMMENT Importer les données EXCEL dans le projet
IMPORT EXCEL TO Échelles_salaires "C:\Users\username\Documents\acl_working\Échelles_salaires.fil" FROM "C:\Users\username\Documents\ACL Data\Exemples de fichiers de données\ACL_Rockwood\Échelles_salaires.xlsx" TABLE "Échelles_salaires$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

COMMENT Ouvrir la table importée et trier par différence entre le salaire horaire max et min
OPEN Échelles_salaires
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "Échelles_salaires_triées" OPEN

COMMENT demander à l'utilisateur le nombre d'enregistrements à extraire de la table triée
ACCEPT "Nombre d'enregistrements à extraire : " TO v_top

COMMENT extraire les N plus grands enregistrements selon leur différence
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "plus_grande_différence" OPEN

SET SAFETY ON

Ajouter l'en-tête d'outil d'analyse

Commencez à convertir le script en outil d'analyse en ajoutant un en-tête d'outil d'analyse en haut du fichier.

Un en-tête d'outil d'analyse est une série de déclarations insérées à l'intérieur d'un bloc de commentaire au début d'un script. Après avoir créé et testé un script dans un projet Analytics, incluez un en-tête d'outil d'analyse pour le convertir dans un script d'outil d'analyse qui s'exécute dans Analytics Exchange.

Les en-têtes d'outils d'analyse doivent commencer par la balise ANALYTIC qui identifie le script comme outil d'analyse :

COMMENT
//ANALYTIC TopEcartSalaire
Importe un fichier EXCEL et extrait les N premiers enregistrements selon l'écart de salaire
END

Pour plus d'informations sur les balises d'outils d'analyse, consultez la rubrique En-têtes des outils d'analyse et balises.

Modifier la commande IMPORT

Étant donné que le moteur AX exécute des scripts d'outil d'analyse dans un dossier temporaire, remplacez les chemins d'accès absolus de la commande IMPORT par des chemins d'accès relatifs pour que le moteur AX puisse localiser les fichiers sur le serveur :

COMMENT Importer les données EXCEL dans le projet
IMPORT EXCEL TO Échelles_salaires "Échelles_salaires.fil" FROM "Échelles_salaires.xlsx" TABLE "Échelles_salaires$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

Vous devez aussi ajouter la balise FILE à l'en-tête pour spécifier le fichier d'entrée Échelles_salaires.xlsx :

COMMENT
//ANALYTIC TopEcartSalaire
Importe un fichier EXCEL et extrait les N premiers enregistrements selon l'écart de salaire
//FILE Échelles_salaires.xlsx
END

Le moteur AX recherche des fichiers d'entrée dans le sous-répertoire Fichiers associés dans AX Serveur lorsque l'outil d'analyse s'exécute. Pour plus d'informations, consultez la section FILE.

Supprimer l'interaction avec l'utilisateur

Car le script de l'outil d'analyse s'exécute sur le serveur sans interaction avec l'utilisateur, vous devez supprimer les commandes demandant l'intervention de l'utilisateur pendant son exécution. Consultez les scénarios de scripts Analytics courants avant l'importation du script dans AX Serveur :

  • commandes interactives pour accepter une entrée utilisateur qui est normalement saisie dans une boîte de dialogue, remplacez les commandes suivantes par des paramètres d'entrée : PAUSE, ACCEPT, DIALOG, PASSWORD
  • suppression de fichiers pour supprimer les fichiers sans confirmation, ajoutez SET SAFETY OFF au début du script, vous pouvez ensuite redéfinir cela avec SET SAFETY ON à la fin du script
  • boîtes de dialogue de confirmation pour éviter les boîtes de dialogue de confirmation après la commande DELETE ou RENAME, utilisez le paramètre OK : DELETE table.fmt OK

Dans ce cas, vous devez supprimer la commande ACCEPT et la remplacer par un paramètre défini dans AX Client lorsque l'outil d'analyse est planifié ou exécuté :

COMMENT Ouvrir la table importée et trier par différence entre le salaire horaire max et min
OPEN Échelles_salaires
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "Échelles_salaires_triées" OPEN

COMMENT extraire les N plus grands enregistrements selon leur différence
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "plus_grande_différence" OPEN

Vous devez ajouter le paramètre à l'en-tête de l'outil d'analyse à l'aide de la balise PARAM pour que vous puissiez définir la valeur pour v_top à partir d'AX Client :

COMMENT
//ANALYTIC TopEcartSalaire
Importe un fichier EXCEL et extrait les N premiers enregistrements selon l'écart de salaire
//FILE Échelles_salaires.xlsx
//PARAM v_top N v_top
Nombre d'enregistrements à extraire
END

Lorsque vous exécutez ou planifiez l'outil d'analyse à partir d'AX Client, vous êtes invité à entrer une valeur numérique que le moteur AX utilise ensuite là où %v_top% apparaît dans l'outil d'analyse. Pour plus d'informations, consultez la rubrique PARAM.

Enregistrer les résultats d'outils d'analyse

Tout comme vous utilisez les balises d'outils d'analyse pour définir les entrées des outils d'analyse, vous pouvez aussi utiliser des déclarations de balises d'outils d'analyse pour définir des tables de sortie et des fichiers enregistrés dans le sous-répertoire Résultats sur AX Serveur. Seuls les éléments spécifiés à l'aide de la balise RESULT dans l'en-tête de l'outil d'analyse sont conservés alors que les autres tables, fichiers ou traces sont abandonnés à la fin de la tâche analytique :

COMMENT
//ANALYTIC TopEcartSalaire
Importe un fichier EXCEL et extrait les N premiers enregistrements selon l'écart de salaire
//FILE Échelles_salaires.xlsx
//RESULT LOG
//RESULT TABLE plus_grande_différence
//PARAM v_top N v_top
Nombre d'enregistrements à extraire
END

La trace et la table plus_grande_différence sont désormais enregistrées sous formes de résultats. Elles sont disponibles dans le Client Web d'AX après chaque exécution de l'outil d'analyse sur AX Serveur. Pour plus d'informations, consultez la section RESULT.

L'outil d'analyse complet

Vous pouvez désormais importer l'outil d'analyse terminé avec le fichier MS Excel qui lui est associé dans un dossier sur AX Serveur. Lorsque l'outil d'analyse s'exécute, vous spécifiez le nombre d'enregistrements à extraire, et une table ainsi qu'un fichier trace sont conservés comme résultats disponibles dans le Client Web d'AX :

COMMENT
//ANALYTIC TopEcartSalaire
Importe un fichier EXCEL et extrait les N premiers enregistrements selon l'écart de salaire
//FILE Échelles_salaires.xlsx
//RESULT LOG
//RESULT TABLE plus_grande_différence
//PARAM v_top N v_top
Nombre d'enregistrements à extraire
END

SET SAFETY OFF

COMMENT Importer les données EXCEL dans le projet
IMPORT EXCEL TO Échelles_salaires "Échelles_salaires.fil" FROM "Échelles_salaires.xlsx" TABLE "Échelles_salaires$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

COMMENT Ouvrir la table importée et trier par différence entre le salaire horaire max et min
OPEN Échelles_salaires
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "Échelles_salaires_triées" OPEN

COMMENT extraire les N plus grands enregistrements selon leur différence
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "plus_grande_différence" OPEN

SET SAFETY ON
Aide pour Analytics Exchange Client 14.1