Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********************************************************/
- /* */
- /* Initial program for setting library connections */
- /* and selecting time-choosing backing table from FRAN */
- /* */
- /********************************************************/
- /* Temporary library => ok*/
- %global tmplib;
- %let tmplib=work;
- /* Choose dataset - most probably will be set fixed => ok */
- %global set;
- %let set=temp;
- /* FRAN */
- %global inlib;
- %global set2;
- %let inlib=shredstg;
- %let set2=fran_analysis;
- libname &inlib '\\aofrontex.local\sas-shareddrive\SASData';
- /* Choose dividing variable => ok */
- %global variable;
- %let variable=&vari;
- *%put &variable.;
- *%put _all_;
- /* Choose dividing variable value => ok */
- %global val;
- %let val=&value;
- *%put &val.;
- /* Time depth */
- %global step;
- %let step=&stp;
- /* Separate years, quarters and months */
- proc sql noprint;
- create table &tmplib..time as
- select distinct YEAR, YYYYQ, YYYYMM
- from &inlib..&set2.
- where &variable="&val";
- quit;
- /* Split months and quarters */
- data &tmplib..time;
- set &tmplib..time;
- quarter=scan(YYYYQ,2,'Q');
- YYYYMM=prxchange('s/ //',-1,YYYYMM);
- month=scan(YYYYMM,2,'M');
- YEAR2=input(YEAR,5.);
- quarter2=input(quarter,5.);
- month2=input(month,5.);
- run;
- /* => to be used with prompt drop-down lists */
- proc sql noprint;
- select max(YEAR2),min(YEAR2)
- into :maxY, :minY
- from &tmplib..time;
- quit;
- %global mt1;
- %let mt1=&maxY;
- %put &maxY;
- %global mt0;
- %let mt0=&minY;
- proc sql noprint;
- select max(quarter2),max(month2)
- into :maxQ,:maxM
- from &tmplib..time
- where YEAR2=&maxY;
- quit;
- %global mt2;
- %let mt2=&maxQ;
- %put &maxQ;
- %global mt3;
- %let mt3=&maxM;
- %put &maxM;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement