Sas: como usar update no proc sql


Você pode usar a instrução UPDATE no PROC SQL no SAS para atualizar os valores em uma ou mais colunas no conjunto de dados.

Aqui estão as maneiras mais comuns de usar a instrução UPDATE na prática:

Método 1: atualize os valores da coluna com base em uma condição

 proc sql ;
    update my_data
    set var1='new_value'
    where var1='old_value';
quit ;

Método 2: atualizar valores na coluna com base em múltiplas condições

 proc sql ;
    update my_data
    set var1 = 
    case when var1> 25 then 100
    when var1> 20 then 50
    else 0
    end;
quit ;

Os exemplos a seguir mostram como usar cada método na prática com o seguinte conjunto de dados no SAS:

 /*create dataset*/
data my_data;
    input team $position $points;
    datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;

/*view dataset*/
proc print data =my_data; 

Exemplo 1: Atualizar valores em coluna com base em uma condição

Podemos usar a seguinte instrução UPDATE no PROC SQL para atualizar cada um dos valores da coluna da equipe para ser “Atlanta”, onde os valores existentes são iguais a “A”:

 /*update values in team column where team is equal to 'A'*/
proc sql ;
    update my_data
    set team='Atlanta'
    where team='A';
quit ;

/*view updated dataset*/
proc print data =my_data; 

Observe que cada valor na coluna da equipe que anteriormente era igual a “A” agora é igual a “Atlanta”.

Quaisquer valores que não fossem iguais a “A” na coluna da equipe foram simplesmente deixados inalterados.

Exemplo 2: Atualizar valores na coluna com base em múltiplas condições

Podemos usar a seguinte instrução UPDATE no PROC SQL para atualizar cada um dos valores na coluna de pontos com base em várias condições:

 /*update values in points column based on multiple conditions*/
proc sql ;
    update my_data
    set points = 
    case when points> 25 then 100
    when points> 20 then 50
    else 0
    end;
quit ;

/*view updated dataset*/
proc print data =my_data; 

Usamos a instrução UPDATE com uma instrução CASE WHEN para atualizar os valores na coluna de pontos.

Especialmente:

  • Se o valor existente na coluna de pontos for maior que 25, atualizamos para 100 .
  • Caso contrário, se o valor existente na coluna de pontos fosse maior que 20, atualizaríamos para 50 .
  • Caso contrário, atualizamos o valor na coluna de pontos para 0 .

Observe que usamos apenas três condições na instrução CASE WHEN , mas você pode usar quantas condições desejar.

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

SAS: Como usar o operador LIKE no PROC SQL
SAS: Como usar o operador IN no PROC SQL
SAS: Como usar o operador WHERE no PROC SQL

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *