options sastrace=",,,db" sastraceloc=saslog nostsuffix ; libname demo teradata server="vmtd" user="adamm" password="john" schema="demo_base_dwh" ; /* EXEMPLE 1- Sans In-Database*/ data Resultat ; set demo.brs (where=(tv_type_cd='PLASMA')); length PaysFabricant $20. ; Select (TV_BRAND_CD); when ('LG') PaysFabricant='Corée' ; when ('MITSUBISHI') PaysFabricant='Japon' ; when ('PANASONIC') PaysFabricant='Japon' ; when ('SAMSUNG') PaysFabricant='Corée' ; when ('SONY') PaysFabricant='Japon' ; when ('VISIO') PaysFabricant='Etats-Unis' ; otherwise ; end ; run ; /* EXEMPLE 2- Proc SORT : avec SortPgm le tri peut être réalisé par la DB*/ option sortpgm=best; /* -> exécutée à 100% par Teradata */ proc sort data=demo.brs out=brs ; by tv_id ; run ; /* -> non exécutée par Teradata à cause de l'option noduplicate */ proc sort data=demo.brs out=brs noduplicate; by tv_id ; run ; /* EXEMPLE 3- SAS/Access IDB*/ option sqlgeneration=ALL ; proc means data=demo.brs sum mean ; var tv_model_cost ; class tv_type_cd; run ; proc freq data=demo.brs ; table tv_type_cd; run ; /* EXEMPLE 4 - SAS/Access : SQL implicite - le WHERE est soumis par le SGBD */ proc transpose data=demo.brs out=Resultat (drop=_NAME_ _LABEL_) delimiter=_ suffix=_cost; var TV_MODEL_COST ; id TV_BRAND_CD TV_MODEL_NM ; by TV_TYPE_CD; where SUBSTR (TV_MODEL_NM,1,1)='4' ; run ; /* EXEMPLE 5- SAS/Access : SQL explicite */ proc sql ; connect to teradata (server="vmtd" user=adamm password="john" schema="demo_base_dwh" ) ; create table Resultats as select * from connection to teradata (select TableName, ColumnName, ColumnType from DBC.Columns where DatabaseName='Demo_Base_DWH') ; quit ;