Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

If then do e if then do else if

.....

1 resposta
solução!

Bom dia,

Eu acho que você só colocou um end no lugar errado (você precisa fechar o do do primeiro if antes de colocar o else), tente da seguinte forma:

data TbProspectoresPontos;
set TbProspectoresProducao2;

if BaseReativacao <=202012 then
    do;
        select;
            when (BaseReativacao <=202012 and CanalReativacao='Coban' and 
                DsCnaeGrupoConvenio="Diamante" and QtFuncionariosGrupo <=300) Pontos=20;
            when (BaseReativacao <=202012 and CanalReativacao='Coban' and 
                DsCnaeGrupoConvenio="Diamante" and QtFuncionariosGrupo >300 and 
                QtFuncionariosGrupo <=600) Pontos=26;
            otherwise Pontos=0;
        end;
    end;
else if BaseReativacao >=202101 then
    do;
        select;
            /*Ano de 2021*/
            when (BaseReativacao >=202101 and CanalReativacao='Coban' and 
                DsCnaeGrupoConvenio="Diamante" and QtFuncionariosGrupo <=300) Pontos=25;
            when (BaseReativacao >=202101 and CanalReativacao='Coban' and 
                DsCnaeGrupoConvenio="Diamante" and QtFuncionariosGrupo >300 and 
                QtFuncionariosGrupo <=600) Pontos=30;
            otherwise Pontos=0;
        end;
    end;
run;