Die Beispiele verwenden CAS-Tabellen, die direkt über DATA-Steps oder 'loadTable'-Aktionen erstellt wurden, um die Funktionalität ohne externe Abhängigkeit zu veranschaulichen.
1 Codeblock
PROC CAS Data
Erklärung : Dieses Beispiel zeigt die einfachste Verwendung der Aktion 'tableDetails'. Es erstellt zunächst eine kleine Tabelle namens 'simple_data' in der Caslib 'casuser' und verwendet dann die Aktion, um zusammenfassende Informationen zu dieser Tabelle anzuzeigen, wie z. B. die Anzahl der Zeilen und Spalten. Standardmäßig ist die Aggregationsebene 'SUM' und Speicherinformationen sind enthalten.
Kopiert!
proc cas;
/* Crée une table simple en mémoire dans la caslib 'casuser' */
data casuser.simple_data;
input id name $;
datalines;
1 Alice
2 Bob
3 Charlie
;
run;
/* Obtient les détails de base pour la table 'simple_data' */
table.tableDetails / name="simple_data";
quit;
1
PROC CAS;
2
/* Crée une table simple en mémoire dans la caslib 'casuser' */
3
DATA casuser.simple_data;
4
INPUT id name $;
5
DATALINES;
6
1 Alice
7
2 Bob
8
3 Charlie
9
;
10
RUN;
11
12
/* Obtient les détails de base pour la table 'simple_data' */
13
TABLE.tableDetails / name="simple_data";
14
QUIT;
2 Codeblock
PROC CAS Data
Erklärung : Dieser Fall zeigt, wie der Parameter 'caslib' verwendet wird, um eine bestimmte Tabelle anzusprechen, wenn sie sich nicht in der aktiven Caslib befindet. Eine 'product_info'-Tabelle wird erstellt, und ihre Details werden durch Angabe von 'casuser' als Caslib abgerufen. Es veranschaulicht auch die Verwendung des Alias 'table' für den Parameter 'name'.
Kopiert!
proc cas;
/* Crée une table 'product_info' dans la caslib 'casuser' */
data casuser.product_info;
input product $ price;
datalines;
Apple 1.00
Banana 0.50
Orange 0.75
Mango 2.20
;
run;
/* Obtient les détails pour 'product_info' en spécifiant explicitement la caslib. */
/* Utilisation de l'alias 'table' pour le paramètre 'name'. */
table.tableDetails /
table="product_info",
caslib="casuser";
quit;
1
PROC CAS;
2
/* Crée une table 'product_info' dans la caslib 'casuser' */
3
DATA casuser.product_info;
4
INPUT product $ price;
5
DATALINES;
6
Apple 1.00
7
Banana 0.50
8
Orange 0.75
9
Mango 2.20
10
;
11
RUN;
12
13
/* Obtient les détails pour 'product_info' en spécifiant explicitement la caslib. */
14
/* Utilisation de l'alias 'table' pour le paramètre 'name'. */
15
TABLE.tableDetails /
16
TABLE="product_info",
17
caslib="casuser";
18
QUIT;
3 Codeblock
PROC CAS Data
Erklärung : Dieses Beispiel verwendet eine größere Tabelle ('large_transactions'), um das Abrufen von Details auf der Ebene jedes Knotens des CAS-Clusters ('level="NODE"') zu veranschaulichen. Es schließt auch detaillierte Informationen zur Speichernutzung ('showMem=FALSE') für eine prägnantere Ausgabe aus, was für große verteilte Tabellen nützlich ist.
Kopiert!
proc cas;
/* Crée une table plus grande pour simuler la distribution sur plusieurs nœuds */
data casuser.large_transactions;
do i = 1 to 10000;
region = if mod(i, 4) = 0 then 'North'
else if mod(i, 4) = 1 then 'South'
else if mod(i, 4) = 2 then 'East'
else 'West';
amount = 100 + ranuni(0) * 1000;
output;
end;
run;
/* Obtient les détails par nœud sans inclure les informations mémoire */
table.tableDetails /
name="large_transactions",
caslib="casuser",
level="NODE",
showMem=FALSE;
quit;
1
PROC CAS;
2
/* Crée une table plus grande pour simuler la distribution sur plusieurs nœuds */
3
DATA casuser.large_transactions;
4
DO i = 1 to 10000;
5
region = IF mod(i, 4) = 0 THEN'North'
6
ELSEIF mod(i, 4) = 1THEN'South'
7
ELSEIF mod(i, 4) = 2THEN'East'
8
ELSE'West';
9
amount = 100 + ranuni(0) * 1000;
10
OUTPUT;
11
END;
12
RUN;
13
14
/* Obtient les détails par nœud sans inclure les informations mémoire */
15
TABLE.tableDetails /
16
name="large_transactions",
17
caslib="casuser",
18
level="NODE",
19
showMem=FALSE;
20
QUIT;
4 Codeblock
PROC CAS / table.partition Data
Erklärung : Dieses fortgeschrittene Beispiel zeigt, wie Details für eine partitionierte Tabelle abgerufen werden. Es erstellt und partitioniert eine Tabelle 'raw_sales' nach der Variablen 'Region' mithilfe der Aktion 'table.partition'. Anschließend verwendet es 'tableDetails' mit 'level="PARTITION"', um Informationen für jede Partition anzuzeigen. Der Parameter 'perNode=2' wird verwendet, um die Menge der pro Knoten gemeldeten Details zu begrenzen, was nützlich ist, um die Größe der Ausgabe bei sehr verteilten Tabellen zu steuern.
Kopiert!
proc cas;
/* Crée une table avec des données à partitionner */
data casuser.raw_sales;
input Date:yymmdd. Region $ Sales;
format Date yymmdd10.;
datalines;
2023-01-01 North 100
2023-01-01 South 150
2023-01-02 East 120
2023-01-02 West 180
2023-01-03 North 110
2023-01-03 South 160
2023-01-04 East 130
2023-01-04 West 190
2023-01-05 North 200
2023-01-05 South 210
2023-01-06 East 220
2023-01-06 West 230
;
run;
/* Partitionne la table par la variable 'Region' */
table.partition /
name="raw_sales",
caslib="casuser",
groupBy={"Region"},
casOut={name="partitioned_sales_by_region", caslib="casuser", replace=true};
/* Obtient les détails par partition, en limitant la sortie à 2 blocs par nœud */
table.tableDetails /
name="partitioned_sales_by_region",
caslib="casuser",
level="PARTITION",
perNode=2;
quit;
1
PROC CAS;
2
/* Crée une table avec des données à partitionner */
3
DATA casuser.raw_sales;
4
INPUT Date:yymmdd. Region $ Sales;
5
FORMAT Date yymmdd10.;
6
DATALINES;
7
2023-01-01 North 100
8
2023-01-01 South 150
9
2023-01-02 East 120
10
2023-01-02 West 180
11
2023-01-03 North 110
12
2023-01-03 South 160
13
2023-01-04 East 130
14
2023-01-04 West 190
15
2023-01-05 North 200
16
2023-01-05 South 210
17
2023-01-06 East 220
18
2023-01-06 West 230
19
;
20
RUN;
21
22
/* Partitionne la table par la variable 'Region' */
/* Obtient les détails par partition, en limitant la sortie à 2 blocs par nœud */
30
TABLE.tableDetails /
31
name="partitioned_sales_by_region",
32
caslib="casuser",
33
level="PARTITION",
34
perNode=2;
35
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.