BASKET ANALYSES.

by Irina 14. April 2007 08:06

data  PRODUCTS;
set    PRODUCTS;
array dich[15]  prod1-prod15;

array name{15} $ _temporary_ ('p1',....,'p2' );

do i=1 to 15;
category=dich [i];
prod=name[i];
num_product=i;
output;
end;
keep sd10_numerator category num_product ;
run;


data BASKET_ANALYSES;
set zevet1.for_model(where=(tzvt_activ_form='300'));
array PR prod1-prod15;
m=0;
do i=1 to 15;
do j=i+1 to 15;
do k=j+1 to 15;

comb=PR[i]+PR[j]+PR[k];
name=compress(vname(aa[i])||'_'||vname(aa[j])||'_'||vname(aa[k]));
m+1;
if comb<3 then continue;
else output;

end;
end;
end;
run;

Now we wante to fix for each kind of treatment the most frequent combinations:

proc freq data=basket_analyses;
tables name*treatment/out=basket_result;
run;

proc sort data=basket_result;
by treatment descending count;
run;

data basket_result;
set basket_result;
by  treatment ;
retain counter ;
if first.treatment  then counter=1;
if treatment =lag(treatment) then counter=counter+1;
output;
run;

data frequent_resultes;
set basket_result;
if counter  <=4;
run;

About the author

Irina Spivak Irina Spivak
Team Leader at G-Stat. More...


Send mail Email

Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2012

    Sign in

    eXTReMe Tracker