SAS No Code
Le langage SAS est la principale force de ce progiciel. En effet, orienté gestion de données et comprenant de nombreuses fonctionnalités, il permet de résoudre la majorité des cas. Cependant, sa maitrise est complexe; et beaucoup d'utilisateurs ne souhaitent pas investir du temps à apprendre un langage de programmation et s'oriente vers des outils plus visuels comme Alteryx par exemple.
SAS Enterprise Guide permet d'accèder à des fonctionnalités du langage SAS sans avoir à coder. Cependant il n'offre qu'un interface au "PROC" et non aux étapes DATA.
SAS met à un disposition un template c# et vb pour
créer de nouvelles interface. Nous allons voir un
exemple en c#.
Création d'une nouvelle interface dans SAS Enterprise Guide
De quoi avons nous besoin pour construire une nouvelle
interface ?
- D'installer Microsoft Visual Studio Community,
- Du template c# téléchargeable sur le site de SAS ici
La documentation est accessible ici.
Il faut ensuite copier le template dans le dossier
<spécifique à votre installation>\Visual Studio
2019\Templates\ProjectTemplates\SAS Custom Tasks sans le
dézipper.
Création d'un projet de nouvelle interface dans Microsoft Visual Studio Community
|
Lancer Microsoft Visual Studio Community puis choisir Créer un projet : |
|
|
Taper SAS dans la barre de recherche puis choisir "SAS C# Custom Task, v4.3" et faire suivant. Cette version est compatible avec les versions suivantes de SEG (8.2 comprise). |
|
|
Saisir le nom, la localisation du projet puis faire Créer. |
|
Composition d'un projet SAS C# Custom Task, v4.3
|
Sur la droite, nous voyons l'arborescence du projet: |
|
Voici une description des différents fichier:
- <Nom projet>Task.cs : contient les propriétés
globales du projet tel que son nom, sa catégorie, le
nombre de tables en sorties, leurs noms, ...
- <Nom projet>TaskForm.cs : contient les méthodes
gérant les événements liés aux composants visuels
contenus dans le projet
- <Nom projet>TaskForm.Designer.cs : contient la
définition des composants visuels.
- <Nom projet>TaskSettings.cs : c'est ici que l'on
définie les variables qui vont être enregistrer les
intéractions de l'utilisateur et définir le code à
exécuter.
Exemple pas à pas
Mettre à jour les références du projet
|
Sélectionner le plus haut niveau dans l'explorateur de solutions puis cliquer sur l'icône en forme de clé. |
|
|
Dans la partie Chemin d'accès des références, renseigner le chemin vers les dll de SAS Enterprise Guide. N'oubliez pas de cliquer sur "Ajouter un dossier". |
|
|
Dans la partie Application, choisir la version du framework en correlation avec votre version de SAS Enterprise Guide. |
|
|
Dans la partie Déboguer, sélectionner le chemin vers l'exécutable de SAS Enterprise Guide. |
|
Modification du fichier <Nom projet>Task.cs
Le premier fichier à modifier est la classe c# principale de la solution. Faire un clique droit puis afficher le code.
|
La partie avant la définition de la classe c#
permet de définir si votre tâche nécessite une
table en entrée, un fichier, un cube, une
infomap ou n'a pas de prérequis. |
|
|
Ensuite dans la méthode |
|
|
Enfin, il faut surcharge la méthode |
|
Modification du fichier <Nom projet>TaskSettings.cs
Nous allons ici définir les propriétés qui vont
enregistrer les choix de l'utilisateur dans les
composants visuels et définir le code à exécuter.
Ces valeurs passent des écrans vers le code à l'aide de
fichier XML que SEG va exploiter.
|
Tout d'abords, il faut déclarer les propriétés. |
|
|
Ensuite, il faut initier ces propriétés. |
|
|
La prochaine étape consiste à modifier la
méthode |
|
|
Puis modifier la méthode |
|
|
La dernière étape consiste à modifier la
méthode |
|
Modification du fichier <Nom projet>TaskForm.Designer.cs
Cette classe permet de définir les composants visuels
de la tâche, leurs propriétés, leurs emplacements, les
événements,...
|
Tout d'abord, il faut déclarer les composants visuels. |
|
|
Ensuite, dans la méthode |
|
|
Dans cette même méthode, il faut pour chacun
des composants définir leurs propriétés. |
|
|
Enfin il faut rajouter les composants dans le
contrôleur en faisant |
|
A ce stade, on ne peut pas voir le résultat car il faut définir auparavant les événements.
Modification du fichier <Nom projet>TaskForm.cs
|
Modifier la méthode |
|
|
Ensuite modifier la méthode |
|
|
Enfin définir les éventuels événements des composants. |
|
|
A ce moment là, il est possible de voir le résultat. Il est possible d'ajuster les composants en mode cliquer-glisser. |
|
|
Vous pouvez maintenant générer la solution qui
prendra la forme d'une dll. Celle-ci pourra être
importer dans SEG dans le gestionnaire des
add-in dans Outils. |
|
Nous venons de voir les grands principes de création d'une nouvelle tâche.