Le script utilise la bibliothèque SASHELP.RETAIL, qui est une bibliothèque de données d'exemple SAS standard, accessible via un serveur SAS/SHARE distant. Les paramètres de connexion et d'opération du serveur (ID, mots de passe) sont définis directement dans le code.
1 Bloc de code
PROC SERVER
Explication : Ce bloc de code démarre une instance du serveur SAS/SHARE. Il lui attribue l'identifiant 'shr1', configure les mots de passe pour l'administrateur ('oapw=system') et l'utilisateur ('uapw=user'), et impose une authentification obligatoire pour les connexions.
Copié !
proc server id=shr1 oapw=system uapw=user
authenticate=required;
run;
1
2
PROC SERVER id=shr1 oapw=system uapw=user
3
authenticate=required;
4
RUN;
5
2 Bloc de code
PROC OPERATE
Explication : Ce bloc de code est utilisé pour arrêter le serveur SAS/SHARE. Il cible le serveur avec l'identifiant 'shr1', utilise un mot de passe administrateur système ('sapw=system') et invite l'utilisateur à fournir son UID lors de l'exécution ('uid=_prompt'). La commande 'stop server;' initie l'arrêt.
Explication : Ce bloc établit d'abord une connexion à une bibliothèque SAS distante. La déclaration LIBNAME 'SHARED' pointe vers la bibliothèque 'SASHELP' sur le serveur SAS/SHARE 'hrothgar.shr1', nécessitant un mot de passe utilisateur. Ensuite, PROC PRINT est utilisée pour afficher un sous-ensemble des données 'RETAIL' de cette bibliothèque distante, en filtrant les années postérieures à 1990 et en sélectionnant des variables spécifiques pour le rapport.
Copié !
libname SHARED slibref=SASHELP server=hrothgar.shr1
sapw=user passwd=_prompt_;
proc print data=SHARED.RETAIL;
title "Retail Sales Total by Month: 1991-1994";
where YEAR gt 1990;
var MONTH SALES;
id YEAR;
run;
Explication : Ce bloc utilise PROC SQL pour exécuter une requête SQL Pass-Through sur le serveur SAS/SHARE distant 'hrothgar.shr1'. Il se connecte au serveur et exécute une sous-requête qui sélectionne l'année, le mois et la somme des ventes (renommée 'Total Sales') à partir de la table SASHELP.RETAIL, regroupées par année et mois. Le résultat de cette requête distante est ensuite sélectionné et affiché par PROC SQL localement.
Copié !
proc sql;
connect to remote
(server=hrothgar.shr1 sapw=user passwd=_prompt_);
select * from connection to remote
(select YEAR, MONTH, sum(SALES)
format=dollar12. label='Total Sales'
from SASHELP.RETAIL
group by YEAR, MONTH);
quit;
1
PROC SQL;
2
3
connect to remote
4
(server=hrothgar.shr1 sapw=user passwd=_prompt_);
5
6
select * from connection to remote
7
(select YEAR, MONTH, sum(SALES)
8
FORMAT=dollar12. label='Total Sales'
9
from SASHELP.RETAIL
10
group BY YEAR, MONTH);
11
QUIT;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright (c) 1993-1999 Microsoft Corp.
« L'utilisation de l'option _prompt_ pour les mots de passe dans vos scripts est une bonne pratique de sécurité sous Viya, évitant le stockage d'identifiants en clair dans les programmes tout en maintenant l'automatisation des flux. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.