DATA Step, Macro, Functions and more

Proc SQL

Occasional Contributor
Posts: 13

Proc SQL

Hi All, 


Can  pls explain the below code. My doubt is 


1. var.sec_terc --> is this a table or column name?


2.from DET_CT var  --> What it is actually? If table, above one is column name is it?

proc sql;
create table CT_M. as select
,max (case when (var.mod_r in ('01') and var.CAL IN ('P') and FEC_COR_R BETWEEN intnx('month', "&PAR_FEC_H"d, -2, 'end') 
AND intnx('month', "&PAR_FEC_H"d, -4, 'begin') and var.edad_m_r>=0) then min(12,var.edad_m_r) else . end) as C_150

from DET_CT var 
where var.CALIDAD IN ('P' 'C' 'S' 'A')
and var.ESTADO_R not in ('7' '07' ' 7' '7 ' '70')
group by var.sec_terc;

Super User
Super User
Posts: 9,840

Re: Proc SQL

I really suggest you look up some SQL help as this is pretty basic.


Point 2 first.  

from det_ct var

What this does is it tells the compiler to take data from dataset det_ct, which is by default in the work library as no library specified, and assign to this data the alias var.  Therefore to refer to any variables from this dataset I use the alias var.


Point 1.


This leads on from the above point, where an alias var has been created to refer to the det_ct dataset.  It is effectively saying the variable from det_ct which is referenced by alias var.

Occasional Contributor
Posts: 13

Re: Proc SQL

Thank you so much ... now am clear... Am a fresher just started to learn SAS from google. Thanks again for your link.. very helpful.
Ask a Question
Discussion stats
  • 2 replies
  • 2 in conversation