Como usar a função coalesce no sas (com exemplos)
Você pode usar a função COALESCE no SAS para retornar o primeiro valor não ausente em cada linha de um conjunto de dados.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: como usar COALESCE no SAS
Suponha que temos o seguinte conjunto de dados no SAS que contém valores ausentes:
/*create dataset*/
data original_data;
input team $points rebounds assists;
datalines ;
Warriors 25 8 7
Wizards. 12 6
Rockets. . 5
Celtics 24. 5
Thunder. 14 5
Spurs 33 19 .
Nets. . .
Mavericks. 8 10
Kings. . 9
Pelicans. 23 6
;
run ;
/*view dataset*/
proc print data = original_data;
Podemos usar a função COALESCE para criar uma nova coluna que retorne o primeiro valor não omisso em cada linha entre as colunas de pontos, rebotes e assistências:
/*create new dataset*/
data new_data;
set original_data;
first_non_missing = coalesce (points, rebounds, assists);
run ;
/*view new dataset*/
proc print data =new_data;
Veja como o valor da coluna first_non_missing foi escolhido:
- Primeira fila: O primeiro valor não faltante entre pontos, rebotes e assistências foi 25 .
- Segunda fila: O primeiro valor não faltante entre pontos, rebotes e assistências foi 12 .
- Terceira linha: O primeiro valor não faltante entre pontos, rebotes e assistências foi 5 .
E assim por diante.
Nota nº 1 : Se todos os valores estiverem faltando (como na linha 7), a função COALESCE simplesmente retornará um valor faltante.
Nota #2 : A função COALESCE só funciona com variáveis numéricas. Se você quiser retornar o primeiro valor não ausente em uma lista de variáveis de caracteres, use a função COALESCEC .
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como normalizar dados no SAS
Como substituir caracteres em uma string no SAS
Como substituir valores ausentes por zero no SAS
Como remover duplicatas no SAS