SAS a créé une procédure appelé le PROC SQL très puissante utilisant une À travers un PROC SQL, nous serons CREATE TABLE BASESORTANTE AS
Previous PDF | Next PDF |
[PDF] SQL Basics Using Proc SQL - LexJansen
Proc SQL's DESCRIBE TABLE statement writes, to the SAS log, structural information on the requested table The statement's syntax is listed below DESCRIBE TABLE table-name; Note that the DESCRIBE TABLE statement's output is written as a valid SQL CREATE TABLE statement
[PDF] PROC SQL - SAS Support
PROC SQL, like a SAS DATA step, is often used to create new tables, and this is done using the CREATE keyword CREATE TABLE creates a data set and CREATE VIEW creates a view
[PDF] Proc SQL, the Data Step Killer - SAS
proc sql; create table new_SAS_dataset as /* select * for all columns/variables */ select column_1, column_2 from some_existing_dataset; quit; • Although it says
[PDF] 131-31: Using Data Set Options in PROC SQL - SAS Support
let label=Scores Data Set without A1 and A3; proc sql; create table Scores1( label="&label") as select * from Scores(drop=A1 A3); quit; DROP data set option
[PDF] Procédure SQL de SAS
rogation et la gestion de tables SAS à l'aide du langage de requête standard de bases de proc sql; title "Employes anciens"; create table as select from
[PDF] DSCI 325: Handout 16 – Introduction to PROC SQL - Winona State
which implements the CREATE, INSERT, AND SELECT clauses Creating a Table from Scratch with PROC SQL Suppose you want to create a simple SAS
[PDF] Powerful and Hard-to-find PROC SQL Features - BeOptimized
As each situation presents itself, PROC SQL should be examined to see if its clauses used to create each dictionary table can be displayed on the SAS Log
[PDF] STT1682 – Progiciels en Statistique et Actuariat Cours 8 – PROC SQL
SAS a créé une procédure appelé le PROC SQL très puissante utilisant une À travers un PROC SQL, nous serons CREATE TABLE BASESORTANTE AS
[PDF] SAS Certification Handout
- Math Usu
186-188) */ proc sql; create table work temp1 as select * from cert sales10; quit; /* no output, but LOG: Table WORK TEMP1 created, with 4 rows and 4 columns
[PDF] Four Ways to Reorder Your Variables, Ranked by Elegance and
and PROC SQL CREATE TABLE LIKE Among those techniques are the ability to search and select data using SAS functions and operators in the data step
[PDF] sas proc sql create table syntax
[PDF] sas proc sql format
[PDF] sas proc sql; create table as select example
[PDF] sas retain array
[PDF] sas sum(of array name * )
[PDF] sascrunch arrays
[PDF] sassen cities in a world economy pdf
[PDF] sassen the global city new york london tokyo
[PDF] sat interventions
[PDF] sat practice test 1
[PDF] sat practice test 1 answers
[PDF] sat practice test 10 answers
[PDF] sat practice test 5
[PDF] sat practice test 6 essay
STT1682 - Progiciels en Statistique et Actuariat
Cours 8 - PROC SQL
IntroLe language SQL (Structured Query Language) est un language utilisé à travers plusieurs applications pour extraire/modifier de l'information entre des bases/tables relationelles.SAS a créé une procédure appelé le PROC SQL très puissante utilisant une syntaxe et une logique
similaire au language SQL, mais adapté au language SAS. À travers un PROC SQL, nous seronscapable de repliquer la majorité des traitements et procédures appris jusqu'à présent dans ce
cours.Syntaxe
Étant donné la quantité élevé de traitement possible avec un PROC SQL, nous verrons une syntaxe
simplifié à travers ce cour :PROC SQL;
CREATE TABLE BASESORTANTE AS
SELECT VAR1 as VAR1_new format=..., VAR2 as VAR2_new format=..., ...FROM BASEENTRANTE
WHERE CONDITIONS
GROUP BY VAR1, VAR2,...
ORDER BY VAR1, VAR2,...;
QUIT; Note - L'ordre des déclarations est importante.- Selon vos besoins, plusieurs des étapes peuvent être tout simplement enlevés. Seulement le
SELECT et FROM sont obligatoires.
- À noter que des virgules seront utilisés pour séparés les différentes variablesCREATE TABLE
-Créer la table sortante, similaire à la déclaration DATASELECT
- À cette étape, nous devons lister les variables que nous désirons garder dans la base de donnée,
similaire à l'option KEEP. - À noter que * peut être utilisé pour garder toutes les variables. - L'option "as" peut être utilisé pour renommer une variable (optionel)- Un format peut être créé pour chacune des variables en ajoutant format=... suivant la variable.
- Toutes nouvelles variables peut être créé à cette étape, il suffit d'écrire l'opération SAS pour la
définir et lui définir un nom suivant le "as"David Langlois - notes STT1682 1
FROM-Spécifie le nom de la (ou des) bases de données entrante en lecture, similaire à la déclaration SET
WHERE Étape pour effectuer des filtres à la lecture, similaire à l'option WHEREGROUP BY
Étape pour spécifier le regroupement de variable par lequel on veut sommariser la base, similaire
à la déclaration CLASS dans un PROC SUMMARY
ORDER BY
Étape pour spécifier le trie voulu dans la base de donnée sortante, similaire à la déclaration BY
d'un PROC SORT. Pour trier de façon décroissante, la variable devra être suivit de l'option "desc"
Exemple #1 - Création de Base
DATA BASE1;
x=1;y=1;OUTPUT; x=2;y=1;OUTPUT; x=3;y=1;OUTPUT; RUN;PROC SQL;
CREATE TABLE EXEMPLE1 AS
SELECT *, (x+y) as z format=8.1
FROM BASE1
WHERE x<3
ORDER BY X desc;
QUIT;Sommarisation de Base
À l'aide d'un PROC SQL, il sera possible de sommariser plusieurs observations des variables et d'extraire diverses variables statistiques (somme,maximum...) similaire à ce que faisait un PROCSUMMARY .
Cependant, une différence majeure est qu'avec un PROC SQL, nous pouvons aussi calculer ces variables statistiques sommaires sans nécessairement sommariser la base de donnée.Cela implique que nous pourrons utiliser ces variables statistiques calculés à partir de plusieurs
observations avec les valeurs de chacune de ces observations. Par exemple, en un seul PROC SQL, il sera possible de calculer pour chacune des observations leratio de VAR1 par rapport à la somme de toutes les valeurs VAR1, ce qui n'était précedemment pas
possible à faire en une seule étape.Les mêmes variables statistiques que celles utilisés dans le PROC SUMMARY pourront être utilisés
à l'intérieur d'un PROC SQL soit : SUM(), MEAN(), MAX(), MIN(), N(), STD()...David Langlois - notes STT1682 2
Exemple #2 - Sommarisation de Base
PROC SQL;
CREATE TABLE EXEMPLE2 AS
SELECT SUM(X) AS SUM_X
FROM BASE1
GROUP BY Y;
QUIT; Exemple #3 - Variable Statistique sans SommarisationPROC SQL;
CREATE TABLE EXEMPLE3 AS
SELECT *, SUM(X) AS SUM_X
FROM BASE1;
QUIT;Liaison de Base de Données
Il est aussi possible de lier plusieurs bases de données entre-elles à l'aide d'un PROC SORT. Le PROC
SORT va aussi permettre des conditions de liaisons beaucoup plus complexes que celles utilisés avec la déclaration MERGE ou l'option INDEX.Liaison par défaut
Par défaut le PROC SQL va tenter de faire un produit cartésien des différentes tables. En d'autres
mots, il va produire toutes les combinaisons différentes possibles de chacune des variables des différentes bases de données.Exemple #4 - Liaison de Base
DATA BASE1;
x=1;y=2;OUTPUT; x=2;y=3;OUTPUT; RUN;DATA BASE2;
x=2;z=5;OUTPUT; x=3;z=6;OUTPUT; x=4;z=9;OUTPUT; RUN;PROC SQL;
CREATE TABLE EXEMPLE4 AS
SELECT *
FROM BASE1,BASE2;
QUIT;David Langlois - notes STT1682 3
INNER JOIN
À l'aide de la déclaration WHERE, il sera possible de spécifier un filtre afin d'effectuer ce qu'on
appele un INNER JOI où le PROC SQL va seulement conserver les observations qu'il a réussit à lier
dans les deux bases de données. Voici l'information conservé représenté par le diagramme de
Venne ci-dessous :
ATTENTION, si la clé n'est pas unique, l'information va être dédoubléExemple #5 - Liaison de Base (INNER JOIN)
PROC SQL;
CREATE TABLE EXEMPLE5 AS
SELECT *
FROM BASE1,BASE2
WHERE BASE1.X=BASE2.X;/*A Cette etape on force SAS a conserver seulement les observations ou x de BASE1 est egale a X de BASE2 */ QUIT;LEFT JOIN
Si à la place, on désire conserver toutes l'information de BASE1 et seulement ajouter l'information
qu'on a réussit à lier de BASE2, on va effectuer un LEFT JOIN représenté par le graphique ci-
dessous :Exemple #6 - Liaison de Base (LEFT JOIN)
PROC SQL;
CREATE TABLE EXEMPLE6 AS
SELECT *
FROM BASE1 LEFT JOIN BASE2
ON BASE1.X=BASE2.X;*ON devra etre utiliser au lieu du WHERE; QUIT; Note : Le RIGHT JOIN existe aussi et produira le résultat inverseDavid Langlois - notes STT1682 4
Liaisons Complexes
Finalement, il sera aussi possible de lier des bases de données avec des conditions de liaisons plus
complexes tel que des inégalités. Tout cela sera traité à travers la déclaration WHERE ou ON dans le
cas des LEFT/RIGHT join.Exemple #7 - Liaison de Base (Complexe)
DATA BASE1;
x=1;y=10;OUTPUT; x=11;y=20;OUTPUT; x=21;y=30;OUTPUT; RUN;DATA BASE2;
x=1;z=5;OUTPUT; x=11;z=5;OUTPUT; RUN;PROC SQL;
CREATE TABLE EXEMPLE7 AS
SELECT *
FROM BASE1 LEFT JOIN BASE2
ON BASE1.X=BASE2.X
AND BASE2.Z LE BASE1.Y
AND BASE2.Z GE BASE1.X;
QUIT;David Langlois - notes STT1682 5
quotesdbs_dbs17.pdfusesText_23