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

SAS if

data teste1; set alura.cadastro_cliente;

if "01000-000" <= cep <="09999-999" then estado = "Grande SP"; else if "10000-000" <= cep <="19999-999" then estado = "Interior SP"; else if "20000-000" <= cep <="28999-999" then estado = "Rio Jan"; else if "30000-000" <= cep <="39999-999" then estado = "Minas"; else if "80000-000" <= cep <="87999-999" then estado = "Parana"; else estado = "Demais estados"; run;

É possível reescrever essa parte do código com then do ou select ou de alguma outra forma que reduza o processo de execução?

1 resposta
solução!

Olá Camila,

Existe a possibilidade de criar a tabela utilizando comandos SQL. Para isso, você precisará usar o PROC SQL. A query ficará assim:

PROC SQL;
    create table teste1 as
        select
            case
                when cep between 01000000 and 09999999 then "Grande SP"
                when cep between 10000000 and 19999999 then "Interior SP"
                when cep between 20000000 and 28999999 then "Rio de Janeiro"
                when cep between 30000000 and 39999999 then "Minas Gerais"
                when cep between 80000000 and 87999999 then "Paraná"
                else "Demais estados"
            end as Estado
            /*,(Demais campos que precisar)*/
    from 
        alura.cadastro_cliente;
QUIT;

Espero ter ajudado. :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software