Veröffentlicht am :
Datenqualität CREATION_INTERNE

Einen DataFlux Data Management Studio-Dienst ausführen (PROC DMSRVDATASVC)

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Diese Prozedur wird verwendet, um mit Datenqualitätsdiensten zu interagieren, die über DataFlux Data Management Studio erstellt und bereitgestellt wurden. Sie ermöglicht das Senden eines SAS©-Datensatzes als Eingabe an einen Dienst, das Ausführen des Dienstes auf dem DataFlux Data Management-Server und anschließend das Abrufen der Ergebnisse in einem neuen SAS©-Datensatz. Zu den wichtigsten Optionen gehören die Angabe des auszuführenden SERVICE, des Eingabedatensatzes (DATA=) und des Ausgabedatensatzes (OUT=). Der Kommunikationsport ist standardmäßig 21036, wenn nicht anders angegeben.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines), um die Autonomie des Codes zu gewährleisten.

1 Codeblock
PROC DMSRVDATASVC Data
Erklärung :
Dieses Beispiel veranschaulicht die einfachste Verwendung der Prozedur DMSRVDATASVC. Es erstellt einen Eingabedatensatz `work.insrv` mit Namen und Adressen. Anschließend wird ein Dienst namens 'StandardizeAddresses' (der auf dem DataFlux-Server existieren muss) unter Verwendung dieses Datensatzes als Eingabe ausgeführt und die Ergebnisse in `work.outsrv_basic` gespeichert. Abschließend wird der Ausgabedatensatz angezeigt.
Kopiert!
1DATA work.insrv;
2 LENGTH Name $30 Address $50;
3 INPUT Name $ Address $;
4 DATALINES;
5 John Doe 123 Main St
6 Jane Smith 456 Oak Ave
7 ;
8RUN;
9 
10PROC DMSRVDATASVC
11 SERVICE='StandardizeAddresses'
12 DATA=work.insrv
13 OUT=work.outsrv_basic;
14RUN;
15 
16PROC PRINT DATA=work.outsrv_basic;
17 TITLE 'Résultats du service de standardisation basique';
18RUN;
2 Codeblock
PROC DMSRVDATASVC Data
Erklärung :
Dieses Beispiel zeigt, wie zusätzliche Optionen beim Ausführen eines Dienstes angegeben werden. Neben `SERVICE`, `DATA` und `OUT` wird `SERVER` verwendet, um den DataFlux-Server (hier 'localhost') explizit zu benennen, und `PORT` für einen nicht standardmäßigen Port (21037). Die Option `LOG` wird hinzugefügt, um Fehlermeldungen oder Informationsmeldungen des Dienstes in einem SAS-Datensatz zu erfassen.
Kopiert!
1DATA work.input_data;
2 LENGTH Email $50;
3 INPUT Email $;
4 DATALINES;
5 test @example.com
6 invalid-email
7 another.one @domain.co.uk
8 ;
9RUN;
10 
11PROC DMSRVDATASVC
12 SERVICE='EmailValidationService'
13 SERVER='localhost'
14 PORT=21037
15 DATA=work.input_data
16 OUT=work.output_data_intermediate
17 LOG=work.service_log;
18RUN;
19 
20PROC PRINT DATA=work.output_data_intermediate;
21 TITLE 'Résultats du service de validation d''e-mails';
22RUN;
23 
24PROC PRINT DATA=work.service_log;
25 TITLE 'Journal d''exécution du service';
26RUN;
3 Codeblock
PROC DMSRVDATASVC Data
Erklärung :
Dieses erweiterte Beispiel simuliert eine Batch-Verarbeitung von Kundennamen mithilfe eines Standardisierungsdienstes. Die Option `ERRORONFAILURE=YES` ist hier entscheidend: Sie weist SAS an, einen Fehler zu generieren, wenn der DataFlux-Dienst fehlschlägt, was für die Integration in automatisierte Verarbeitungsketten nützlich ist. Der Code enthält ein einfaches Makro, um den Erfolg des Vorgangs über den Rückgabecode der Datensatzöffnung zu überprüfen und Fehler programmatisch zu melden.
Kopiert!
1DATA work.customer_names;
2 LENGTH CustomerID 8 FirstName $20 LastName $20;
3 INPUT CustomerID FirstName $ LastName $;
4 DATALINES;
5 1 John Doe
6 2 Jane Smith
7 3 PETER J. JONES
8 4 mary_ann
9 ;
10RUN;
11 
12PROC DMSRVDATASVC
13 SERVICE='NameStandardizationBatch'
14 DATA=work.customer_names
15 OUT=work.standardized_names
16 ERRORONFAILURE=YES;
17RUN;
18 
19/* Vérifier les erreurs potentielles dans le log */
20%MACRO CheckLog;
21 %LOCAL rc;
22 %LET rc = %SYSFUNC(OPEN(WORK.standardized_names, I));
23 %IF &rc EQ 0 %THEN %DO;
24 %PUT NOTE: Le service a été exécuté avec succès.;
25 %LET rc = %SYSFUNC(CLOSE(&rc));
26 %END;
27 %ELSE %DO;
28 %PUT ERROR: Le service a échoué. Vérifiez le log SAS pour plus de détails.;
29 %END;
30%MEND CheckLog;
31 
32%CheckLog;
33 
34PROC PRINT DATA=work.standardized_names;
35 TITLE 'Noms des clients standardisés';
36RUN;
4 Codeblock
PROC DMSRVDATASVC Data
Erklärung :
Dieses Beispiel demonstriert die Integration der Prozedur DMSRVDATASVC in eine SAS Viya-Umgebung mit CAS-Tabellen. Es initialisiert eine CAS-Sitzung und erstellt eine CAS-Tabelle (`mycas.raw_products`). Die Prozedur DMSRVDATASVC wird anschließend aufgerufen, wobei diese CAS-Tabelle als Eingabe angegeben wird. Der Datenqualitätsdienst (hier 'ProductDescriptionCleanse') verarbeitet die Tabelle im verteilten Speicher, und die Ergebnisse werden in einer neuen CAS-Tabelle (`mycas.cleaned_products`) gespeichert. Die Befehle PROC CASUTIL und PROC PRINT werden verwendet, um die CAS-Tabellen zu überprüfen und die verarbeiteten Daten anzuzeigen, wobei die In-Memory-Verarbeitung hervorgehoben wird.
Kopiert!
1CAS;
2CASLIB _ALL_ ASSIGN;
3 
4DATA _NULL_;
5 CALL SYMPUTX('CAS_SESSION_NAME', %SYSFUNC(GETOPTION(CASAUTOSESS)));
6RUN;
7 
8/* Création d'une table CAS à partir de données SAS */
9DATA mycas.raw_products;
10 LENGTH ProductID $10 Description $100;
11 INPUT ProductID $ Description $;
12 DATALINES;
13 P001 Hand Sanitizer 500ml
14 P002 Hand sanitizer 100ml
15 P003 Hand SANITIZER 200 ml
16 ;
17RUN;
18 
19/* Exécution du service Data Quality sur la table CAS */
20PROC DMSRVDATASVC
21 SERVICE='ProductDescriptionCleanse'
22 DATA=mycas.raw_products
23 OUT=mycas.cleaned_products;
24RUN;
25 
26/* Affichage des résultats de la table CAS */
27PROC CASUTIL SESSREF=&CAS_SESSION_NAME;
28 LIST TABLES / CASLIB='CASUSER';
29QUIT;
30 
31PROC PRINT DATA=mycas.cleaned_products;
32 TITLE 'Descriptions de produits nettoyées via CAS';
33RUN;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved