iml

iml

Beschreibung

Diese Aktion übermittelt SAS/IML-Programme an CAS. Sie ermöglicht die Ausführung von IML-Code auf dem CAS-Server und bietet Optionen zur Steuerung der Anzeige von Ergebnissen, der Protokollierung von Quellcode und der Verwaltung von Ausgabetabellen. Die IML-Aktion ist besonders nützlich für parallele Berechnungen.

iml.iml <result=results> <status=rc> / code="string", display={ caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1" <, "string-2", ...>}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE }, echoSource="ALL" | "NONE" | "PROGRAM", nthreads=integer, outputTables={ groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1" <, "string-2", ...>} | {key-1={casouttable-1} <, key-2={casouttable-2}, ...>}, repeated=TRUE | FALSE, replace=TRUE | FALSE };
Einstellungen
ParameterBeschreibung
codeGibt eine Eingabezeichenfolge an, die ein SAS/IML-Programm enthält. Dies ist ein erforderlicher Parameter. (Alias: imlstring)
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. Weitere Informationen zur Angabe des 'display'-Parameters finden Sie im gemeinsamen Parameter 'displayTables' (Anhang A: Allgemeine Parameter).
display.caseSensitiveGibt an, ob bei der Namenssuche für die Anzeige die Groß-/Kleinschreibung beachtet werden soll.
display.excludeGibt an, ob die in 'names' angegebenen Tabellen von der Anzeige ausgeschlossen werden sollen.
display.excludeAllGibt an, ob alle Tabellen von der Anzeige ausgeschlossen werden sollen, außer denen, die explizit in 'names' angegeben sind.
display.keyIsPathGibt an, ob die Schlüssel in 'names' als Pfade behandelt werden sollen.
display.namesGibt die Namen der anzuzeigenden Tabellen an.
display.pathTypeGibt den Typ des Pfads an ('LABEL' oder 'NAME').
display.traceNamesGibt an, ob die Namen von Tabellen nachverfolgt werden sollen, die während der Verarbeitung angezeigt werden.
echoSourceGibt Informationen an, die in das Protokoll ausgegeben werden sollen. Der Standardwert ist 'NONE'. - ALL: Gibt das Programm und alle IMLMLIB-Module an das Protokoll aus. - NONE: Gibt nichts an das Protokoll aus. - PROGRAM: Gibt das Programm an das Protokoll aus.
nthreadsGibt die Anzahl der Threads an, die auf jedem Knoten verwendet werden sollen. Dieser Parameter wird für parallele Berechnungen verwendet. Wenn auf 0 gesetzt, werden alle verfügbaren Threads verwendet. Unter bestimmten Umständen kann die IML-Aktion weniger Threads verwenden, als im Parameter angegeben, da die internen Algorithmen der Aktion festlegen, dass eine kleinere Anzahl von Threads vorzuziehen ist. (Bereich: 0–128)
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. Weitere Informationen zur Angabe des 'outputTables'-Parameters finden Sie im gemeinsamen Parameter 'outputTables' (Anhang A: Allgemeine Parameter). (Alias: displayOut)
outputTables.groupByVarsRawGibt an, ob Rohvariablen für Gruppierungen in den Ausgabetabellen enthalten sein sollen.
outputTables.includeAllGibt an, ob alle Ausgabetabellen einbezogen werden sollen.
outputTables.namesGibt die Namen der Ergebnistabellen an, die als CAS-Tabellen gespeichert werden sollen, oder eine Zuordnung von Schlüssel-Werte-Paaren für die Umbenennung.
outputTables.repeatedGibt an, ob wiederholte Ausgabetabellen gespeichert werden sollen.
outputTables.replaceGibt an, ob vorhandene CAS-Tabellen mit denselben Namen ersetzt werden sollen.
Beispieldaten für IML-Aktion

Erstellt eine CAS-Tabelle 'mycas.mydata' mit Beispieldaten für die Verwendung mit der IML-Aktion.

Kopiert!
1DATA mycas.mydata;
2 INPUT x y;
3 CARDS;
41 2
53 4
65 6
7;
8RUN;

Beispiele

Dieses Beispiel zeigt, wie ein einfaches SAS/IML-Programm ausgeführt wird, das eine Matrix erstellt und deren Determinante berechnet.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3iml.iml / code = 'A = {1 2, 3 4};
4detA = det(A);
5print detA;
6';
7RUN;
8 
Ergebnis :
Die Determinante der Matrix A wird im Protokoll angezeigt.

Dieses Beispiel demonstriert die Ausführung eines komplexeren SAS/IML-Programms, das die Anzahl der Threads steuert und eine Ergebnistabelle als CAS-Tabelle speichert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 iml.iml /
3 code = 'A = {1 2, 3 4, 5 6};
4 B = {7 8, 9 10};
5 C = A * B;
6 create cas.resultTable from C;
7 append cas.resultTable;'
8 nthreads = 4
9 outputTables = {names = {"C" = {casouttable = {name = "resultTable", replace = true}}}}
10 ;
11RUN;
12PROC PRINT DATA=cas.resultTable;
13RUN;
Ergebnis :
Das IML-Programm wird mit 4 Threads ausgeführt, berechnet das Produkt der Matrizen A und B, und speichert die Ergebnismatrix C in einer CAS-Tabelle namens 'resultTable'. Die Tabelle 'resultTable' wird anschließend gedruckt.