Eu tenho esse código:
/* Sort both data sets by strata */
proc sort data='TABELA MULTISKILL BASE'n;
by operador;
run;
proc sort data=maxsizetb;
by operador;
run;
/* Initial sample using SAMPRATE */
proc surveyselect data='TABELA MULTISKILL BASE'n samprate=100 out=A;
strata operador;
run;
/* Split out the strata that have a max size */
data B1 B2;
merge A (in=inA) maxsizetb (in=inMaxSize);
by operador;
if inA and inMaxSize then output B1;
else if inA then output B2;
run;
/* Apply the max size using the N=<data set> and SELECTALL Options */
proc surveyselect data=B1 N=maxsizetb (rename=(_maxsize_ = _NSIZE_)) out=C selectall;
strata operador;
run;
/* The final sample is a combination of B2 and C */
data final;
set B2 C;
run;
a tabela multiskill é onde tem todas as informações que eu preciso (nome do operador, dia do atendimento, complexidade e etc), e a tabela maxsizetb tem o nome de cada um dos operadores e o numero 1, ou seja, nesse projeto ele seleciona uma amostra para cada um dos operadores, porem como eu disse essa amostra não segue uma condição que é selecionar 1 amostra por operador mas que também siga um padrão já predefinido da complexidade, que é 55% baixa, 35% media e 10% alta. Ele simplesmente seleciona aqueles casos eu que se tem mais atendimento. Como eu faço para colocar este outro critério? Pode ser outro código sem ser o survey select. Resumindo o projeto: tenho uma tabela base com todos os atendimentos realizados no callcenter e preciso selecionar uma amostra dessa tabela para fazer monitoria dos atendimentos, essa amostra consiste em selecionar 1 amostra para cada um dos operadores presentes nessa tabela base, e que essa amostra seja 55% baixa complexidade, 35% media complexidade e 10% alta complexidade, esta porcentagem é baseada na quantidade de operadores distintos que tem na tabela base, exemplo se eu tiver 100 operadores diferentes a amostra final tem que ser 55 baixa, 35 media e 10 alta e assim sucessivamente.