Die Beispiele verwenden generierte Daten (DATA step mit DATALINES), um die Tabellen `product_list` und `supplier` zu simulieren.
1 Codeblock
DATA STEP Data
Erklärung : Dieser DATA-Schritt-Codeblock erstellt den Datensatz `work.product_list` unter Verwendung von Inline-Daten (DATALINES). Er definiert die Variablen `Product_Id`, `Product_Name` und `Supplier_ID` mit ihren jeweiligen Typen und Längen. Leerzeichen und Sonderzeichen in `Product_Name` wurden durch Unterstriche ersetzt, um die Verwaltung über DATALINES zu verbessern.
Erklärung : Dieser DATA-Schritt-Codeblock erstellt den Datensatz `work.supplier` unter Verwendung von Inline-Daten (DATALINES). Er definiert die Variablen `Supplier_ID`, `Supplier_Name`, `Supplier_Address` und `Country` mit ihren jeweiligen Typen und Längen. Leerzeichen und Sonderzeichen wurden durch Unterstriche ersetzt, um die Verwaltung über DATALINES zu verbessern.
Kopiert!
DATA work.supplier;
LENGTH Supplier_ID 8 Supplier_Name $40 Supplier_Address $45 Country $2;
INPUT Supplier_ID Supplier_Name :$40. Supplier_Address :$45. Country $;
DATALINES;
50 Scandinavian_Clothing_A/S Kr._Augusts_Gate_13 NO
316 Prime_Sports_Ltd 9_Carlisle_Place GB
755 Top_Sports Jernbanegade_45 DK
772 AllSeasons_Outdoor_Clothing 553_Cliffview_Dr US
798 Sportico C._Barquillo_1 ES
1280 British_Sports_Ltd 85_Station_Street GB
1303 Eclipse_Inc 1218_Carriole_Ct US
1684 Magnifico_Sports Rua_Costa_Pinto_2 PT
1747 Pro_Sportswear_Inc 2434_Edgebrook_Dr US
3298 A_Team_Sports 2687_Julie_Ann_Ct US
3808 Carolina_Sports 3860_Grand_Ave US
;
RUN;
1
DATA work.supplier;
2
LENGTH Supplier_ID 8 Supplier_Name $40 Supplier_Address $45 Country $2;
3
INPUT Supplier_ID Supplier_Name :$40. Supplier_Address :$45. Country $;
4
DATALINES;
5
50 Scandinavian_Clothing_A/S Kr._Augusts_Gate_13 NO
6
316 Prime_Sports_Ltd 9_Carlisle_Place GB
7
755 Top_Sports Jernbanegade_45 DK
8
772 AllSeasons_Outdoor_Clothing 553_Cliffview_Dr US
9
798 Sportico C._Barquillo_1 ES
10
1280 British_Sports_Ltd 85_Station_Street GB
11
1303 Eclipse_Inc 1218_Carriole_Ct US
12
1684 Magnifico_Sports Rua_Costa_Pinto_2 PT
13
1747 Pro_Sportswear_Inc 2434_Edgebrook_Dr US
14
3298 A_Team_Sports 2687_Julie_Ann_Ct US
15
3808 Carolina_Sports 3860_Grand_Ave US
16
;
17
RUN;
3 Codeblock
DATA STEP / PROC PRINT
Erklärung : 1. Enthält eine LENGTH-Anweisung, um sicherzustellen, dass die Variablen `Supplier_Name`, `Supplier_Address` und `Country` im PDV (Program Data Vector) definiert sind.
2. Bei der ersten Iteration des DATA-Schritts wird das Hash-Objekt `S` deklariert. `Supplier_ID` wird als Schlüssel des Hash-Objekts zugewiesen. Enthält die Werte von `Supplier_Name`, `Supplier_Address` und `Country` aus dem Datensatz `work.supplier`.
3. Da `Supplier_Name`, `Supplier_Address` und `Country` nicht explizit mit initialen Werten zugewiesen werden, schreibt SAS eine NOTIZ in das Protokoll, die besagt, dass die Variablen nicht initialisiert sind. `CALL MISSING` unterdrückt diese NOTIZ.
4. Liest eine Beobachtung aus dem Datensatz `product_list`.
5. Die Methode `FIND` wird aufgerufen, um zu überprüfen, ob die `Supplier_ID` aus `product_list` mit dem Schlüssel `Supplier_ID` eines der Einträge des Hash-Objekts übereinstimmt. Wenn es eine Übereinstimmung gibt (`rc=0`), wird die Beobachtung in den Datensatz `supplier_info` geschrieben.
PROC PRINT zeigt dann den Inhalt des Datensatzes `supplier_info` an.
Kopiert!
data supplier_info;
drop rc;
length Supplier_Name $40 Supplier_Address $ 45 Country $ 2; /* 1*/
if _N_=1 then do;
declare hash S(dataset:'work.supplier'); /* 2*/
S.definekey('Supplier_ID');
S.definedata('Supplier_Name',
'Supplier_Address','Country');
S.definedone();
call missing(Supplier_Name,
Supplier_Address,Country); /* 3*/
end;
set work.product_list; /* 4*/
rc=S.find(); /* 5*/
run;
proc print data=supplier_info;
var Product_ID Supplier_ID Supplier_Name
Supplier_Address Country;
title "Product Information";
run;
title;
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.