Die bereitgestellten Beispiele verwenden intern deklarierte und initialisierte EEL-Arrays oder Daten, die über `datalines` in DATA- oder DS2-Schritten generiert wurden. Dies gewährleistet die Autonomie und Ausführbarkeit der Beispiele ohne Abhängigkeit von externen Datenquellen.
1 Codeblock
DATA STEP Data
Erklärung : Dieses einfache Beispiel deklariert ein dynamisches EEL-Array 'myArray' vom Typ Zeichenkette mit drei Elementen. Die GET-Funktion wird dann mit dem Index 2 verwendet, um das zweite Element ('Banana') abzurufen, das anschließend im SAS-Log angezeigt wird.
Kopiert!
data _null_;
/* Déclaration d'un tableau dynamique EEL */
length myArray{3} $20;
myArray[1] = "Apple";
myArray[2] = "Banana";
myArray[3] = "Cherry";
/* Utilisation de la fonction GET pour récupérer un élément */
myElement = GET(myArray, 2);
put "L'élément à l'indice 2 est : " myElement; /* Attendu : Banana */
run;
1
DATA _null_;
2
/* Déclaration d'un tableau dynamique EEL */
3
LENGTH myArray{3} $20;
4
myArray[1] = "Apple";
5
myArray[2] = "Banana";
6
myArray[3] = "Cherry";
7
8
/* Utilisation de la fonction GET pour récupérer un élément */
9
myElement = GET(myArray, 2);
10
put "L'élément à l'indice 2 est : " myElement; /* Attendu : Banana */
11
RUN;
2 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel veranschaulicht eine häufige Verwendung der GET-Funktion in einer Schleife. Es zeigt, wie man ein dynamisches Array durchläuft, indem man die DIM-Funktion zur Bestimmung seiner Größe verwendet, und wie GET den sukzessiven Zugriff auf jedes Element ermöglicht. Eine Größenänderung des Arrays ist enthalten, um seine Flexibilität zu demonstrieren.
Kopiert!
data _null_;
/* Déclaration et initialisation d'un tableau dynamique EEL */
length salesData{*} 8;
salesData[1] = 100;
salesData[2] = 150;
salesData[3] = 200;
salesData[4] = 120;
/* Redimensionner le tableau pour ajouter un élément */
DIM(salesData) = 5;
salesData[5] = 180;
/* Itérer et afficher tous les éléments du tableau */
do i = 1 to DIM(salesData);
currentSale = GET(salesData, i);
put "Vente pour l'indice " i " : " currentSale;
end;
run;
1
DATA _null_;
2
/* Déclaration et initialisation d'un tableau dynamique EEL */
3
LENGTH salesData{*} 8;
4
salesData[1] = 100;
5
salesData[2] = 150;
6
salesData[3] = 200;
7
salesData[4] = 120;
8
9
/* Redimensionner le tableau pour ajouter un élément */
10
DIM(salesData) = 5;
11
salesData[5] = 180;
12
13
/* Itérer et afficher tous les éléments du tableau */
14
DO i = 1 to DIM(salesData);
15
currentSale = GET(salesData, i);
16
put "Vente pour l'indice " i " : " currentSale;
17
END;
18
RUN;
3 Codeblock
DATA STEP Data
Erklärung : Dieses erweiterte Beispiel zeigt, wie die GET-Funktion verwendet werden kann, um den Zugriff auf Elemente in einem zweidimensionalen Array zu simulieren, das als eindimensionales Array gespeichert ist. Eine Indexberechnung wird durchgeführt, um 2D-Koordinaten einem 1D-Index zuzuordnen, und Grenzprüfungen sind für erhöhte Robustheit enthalten. Der zweite Teil des Beispiels zeigt, wie eine ganze Zeile dieses simulierten Arrays abgerufen und angezeigt wird.
Kopiert!
data _null_;
/* Déclaration d'un tableau dynamique EEL pour simuler une matrice 2x3 */
/* Les éléments sont stockés séquentiellement: (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) */
length matrixData{6} 8;
matrixData[1] = 11; matrixData[2] = 12; matrixData[3] = 13;
matrixData[4] = 21; matrixData[5] = 22; matrixData[6] = 23;
numRows = 2;
numCols = 3;
/* Récupérer un élément spécifique (par exemple, élément à la ligne 2, colonne 1) */
targetRow = 2;
targetCol = 1;
calculatedIndex = ((targetRow - 1) * numCols) + targetCol;
if (calculatedIndex >= 1 and calculatedIndex <= DIM(matrixData)) then do;
element = GET(matrixData, calculatedIndex);
put "Élément à la ligne " targetRow ", colonne " targetCol " : " element; /* Attendu : 21 */
end;
else do;
put "Index hors limites pour la matrice.";
end;
/* Récupérer et afficher tous les éléments de la deuxième ligne */
put ' ';
put 'Éléments de la deuxième ligne :';
do j = 1 to numCols;
calculatedIndex_row2 = ((2 - 1) * numCols) + j;
element_row2 = GET(matrixData, calculatedIndex_row2);
put " Élément (2," j ") : " element_row2;
end;
run;
1
DATA _null_;
2
/* Déclaration d'un tableau dynamique EEL pour simuler une matrice 2x3 */
3
/* Les éléments sont stockés séquentiellement: (1,1) (1,2) (1,3) (2,1) (2,2) (2,3) */
Erklärung : Dieses Beispiel veranschaulicht die Verwendung der GET-Funktion in einer SAS Viya-Umgebung mit CAS (Cloud Analytic Services). Ein DS2-Block wird verwendet, um eine in den Speicher geladene CAS-Tabelle zu verarbeiten. Innerhalb des DS2-Programms wird ein dynamisches EEL-Array deklariert und mit Daten aus den Spalten der Eingabetabelle gefüllt. Die GET-Funktion wird dann angewendet, um ein bestimmtes Element aus dem EEL-Array zu extrahieren, und das Ergebnis wird in einer neuen CAS-Tabelle gespeichert. Das Flag 'cas' ist auf 1 gesetzt, um die Verwendung von CAS-Funktionen anzuzeigen.
Kopiert!
/* Exemple 4 : Intégration Viya/CAS avec DS2 */
/* Création d'une table CAS en mémoire pour démonstration */
data casuser.input_data;
input id $ item1 $ item2 $ item3 $;
datalines;
101 Apple Banana Cherry
102 Orange Grape Kiwi
103 Mango Peach
;
run;
proc cas;
session casauto;
/* Charger la table dans CAS */
load data=casuser.input_data out=casuser.input_data;
/* Utiliser un bloc DS2 pour créer un tableau EEL et utiliser la fonction GET */
ds2;
data casuser.processed_items {overwrite=true};
method run();
set casuser.input_data;
declare character(20) fruitArray[3] _temporary_; /* Déclaration d'un tableau EEL temporaire */
declare character(20) secondFruit;
/* Peupler le tableau EEL avec les valeurs des colonnes */
fruitArray[1] = item1;
fruitArray[2] = item2;
fruitArray[3] = item3;
/* Utiliser la fonction GET pour récupérer le deuxième fruit */
if DIM(fruitArray) >= 2 then do;
secondFruit = GET(fruitArray, 2);
end;
else do;
secondFruit = 'N/A';
end;
output;
end;
enddata;
quit;
/* Afficher la table résultante */
print data=casuser.processed_items;
quit;
1
/* Exemple 4 : Intégration Viya/CAS avec DS2 */
2
/* Création d'une table CAS en mémoire pour démonstration */
/* Utiliser un bloc DS2 pour créer un tableau EEL et utiliser la fonction GET */
19
ds2;
20
DATA casuser.processed_items {overwrite=true};
21
method RUN();
22
SET casuser.input_data;
23
declare character(20) fruitArray[3] _temporary_; /* Déclaration d'un tableau EEL temporaire */
24
declare character(20) secondFruit;
25
26
/* Peupler le tableau EEL avec les valeurs des colonnes */
27
fruitArray[1] = item1;
28
fruitArray[2] = item2;
29
fruitArray[3] = item3;
30
31
/* Utiliser la fonction GET pour récupérer le deuxième fruit */
32
IF DIM(fruitArray) >= 2THENDO;
33
secondFruit = GET(fruitArray, 2);
34
END;
35
ELSEDO;
36
secondFruit = 'N/A';
37
END;
38
39
OUTPUT;
40
END;
41
enddata;
42
QUIT;
43
44
/* Afficher la table résultante */
45
PRINTDATA=casuser.processed_items;
46
QUIT;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.