DS2 - Package DS2 et SQLSTMT

Le code ci-dessous permet de créer un package DS2Langage de programmation orienté objet de SAS, compatible avec le typage SQL, permettant un traitement parallèle sur plusieurs threads et une exécution directe dans les bases de données ou en CAS. personnalisé utilsant le package SQLSTMT. Un package DS2Langage de programmation orienté objet de SAS, compatible avec le typage SQL, permettant un traitement parallèle sur plusieurs threads et une exécution directe dans les bases de données ou en CAS. est un ensemble de méthodes et de variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. utilisables dans les programmes DS2Langage de programmation orienté objet de SAS, compatible avec le typage SQL, permettant un traitement parallèle sur plusieurs threads et une exécution directe dans les bases de données ou en CAS.. Un package DS2Langage de programmation orienté objet de SAS, compatible avec le typage SQL, permettant un traitement parallèle sur plusieurs threads et une exécution directe dans les bases de données ou en CAS. prend en charge un ensemble de tâches connexes et est conçu pour être réutilisé. Le package SQLSTMT fournit un moyen de transmettre des instructions FedSQL à un SGBD pour exécution et d'accéder au jeu de résultats renvoyé par le SGBD. Dans l'exemple ci-dessous le package "monpkg" est utilisé en tant que modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). pour construire une instance du package SQLSTMT. La requête est envoyé à une base SQLServer via ODBC et le pilote Datadirect fourni par SAS.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
proc ds2;
drop package monpkg;
run;
quit;

proc ds2;

package monpkg;
declare varchar(100) str;

dcl package sqlstmt stmt;

method monpkg(varchar(100) str);
this.str = str;

end;

method execmonsql();

dcl int rc;
declare varchar(100) champC;

stmt = _new_ sqlstmt(str, 'driver=sql; conopts=(DRIVER=ODBC;DB=SQLServerWire;UID=SAS;PWD=PASSWORD)');
stmt.execute();
rc = stmt.fetch();
do while(rc = 0);
champC = stmt.getVarChar(3);
put champC;
rc = stmt.fetch();
end;

end;
endpackage;

data _null_;
method init();
declare package monpkg a2('select a,b,"c d" from Customers;');
a2.execmonsql();
end;
enddata;
run;
quit;

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.