iml
iml
##set_iml
Description
L'action iml.iml est votre passerelle magique pour exécuter du code SAS/IML directement au sein de CAS (Cloud Analytic Services). Parfait pour les manipulations matricielles lourdes et les algorithmes personnalisés distribués. Préparez-vous à faire chauffer les threads, mais gardez les mains sur le volant !
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| code | Chaîne de caractères contenant le programme SAS/IML à exécuter. C'est ici que la magie opère ! |
| display | Spécifie la liste des tables de résultats à renvoyer au client pour affichage. Idéal pour ne pas se noyer sous les données. |
| echoSource | Contrôle les informations à répercuter dans le journal (log). Valeurs possibles : 'ALL', 'NONE' ou 'PROGRAM'. |
| nthreads | Nombre de threads à utiliser sur chaque nœud (0-128). Si 0, tous les threads disponibles sont réquisitionnés pour une puissance maximale ! |
| outputTables | Liste des noms des tables de résultats à sauvegarder en tant que tables CAS sur le serveur. |
Préparation des données
Création d'une table CAS de test pour IML
Création d'une petite table de données dans CAS pour illustrer l'utilisation d'IML avec des données distribuées.
| 1 | PROC CASUTIL; |
| 2 | load DATA=sashelp.cars casout="cars" outcaslib="casuser" replace; |
| 3 | RUN; |
| 4 | QUIT; |
Exemples d'utilisation
Exécution d'un programme IML basique
Un petit 'Hello World' matriciel pour vérifier que le moteur IML tourne à plein régime sur CAS.
| 1 | PROC CAS; |
| 2 | iml.iml / code="x = {1 2, 3 4}; print 'Matrice X:', x;"; |
| 3 | RUN; |
| 4 | QUIT; |
Résultat Attendu :
Le journal affichera la matrice X 2x2 et prouvera que votre code IML s'est exécuté avec succès dans l'environnement CAS.
Analyse IML avancée avec lecture de table CAS et sauvegarde
Ce script IML lit la table CAS 'cars', calcule la matrice de corrélation de certaines variables numériques, et sauvegarde le résultat dans une nouvelle table CAS.
| 1 | PROC CAS; |
| 2 | imlcode = " |
| 3 | call MatrixCreateFromCAS(A, 'casuser', 'cars', {'MSRP', 'Invoice', 'EngineSize', 'Cylinders', 'Horsepower', 'MPG'}); |
| 4 | corr_matrix = corr(A); |
| 5 | varNames = {'MSRP', 'Invoice', 'EngineSize', 'Cylinders', 'Horsepower', 'MPG'}; |
| 6 | call MatrixWriteToCAS(corr_matrix, 'casuser', 'cars_corr', varNames); |
| 7 | "; |
| 8 | iml.iml / code=imlcode nthreads=0 echoSource="PROGRAM"; |
| 9 | RUN; |
| 10 | QUIT; |
Résultat Attendu :
Calcule en parallèle la matrice de corrélation sur les variables sélectionnées et génère une table CAS 'cars_corr' contenant le résultat, tout en affichant le programme dans la log grâce à echoSource.