Como usar a função intnx em sas (com exemplos)
Você pode usar a função INTNX no SAS para incrementar uma data em um intervalo específico, como um dia, uma semana, um mês, etc.
Esta função usa a seguinte sintaxe básica:
INTNX (intervalo, data_inicial, incremento)
Ouro:
- intervalo : O intervalo a ser adicionado à data (dia, semana, mês, ano, etc.)
- start_date : Variável que contém as datas de início
- increment : O número de intervalos a serem adicionados
Para subtrair um intervalo, forneça um número negativo ao argumento de incremento .
Os exemplos a seguir mostram algumas maneiras comuns de usar a função INTNX na prática com o seguinte conjunto de dados no SAS:
/*create dataset*/
data original_data;
date format date9.;
input date:date9. dirty;
datalines ;
01JAN2022 50
01FEB2022 34
14MAR2022 26
01MAY2022 22
24AUG2022 27
28OCT2022 48
14NOV2022 97
04DEC2022 88
;
run ;
/*view dataset*/
proc print data = original_data;
Exemplo 1: Use INTNX para adicionar dias a este dia
Podemos usar a função INTNX para criar uma nova coluna chamada plus5days que adiciona cinco dias a cada data na coluna de data :
/*create new dataset with column that adds 5 days to date*/
data new_data;
set original_data;
plus5days= intnx ('day', date, 5);
format plus5days date9.;
run ;
/*view dataset*/
proc print data = new_data;
Observe que a nova coluna chamada plus5days contém os valores da coluna de data com cinco dias adicionados.
Exemplo 2: Use INTNX para subtrair dias da data
Você também pode subtrair dias simplesmente usando um valor negativo na função INTNX .
Por exemplo, podemos usar o código a seguir para subtrair cinco dias de cada valor na coluna de data :
/*create new dataset with column that subtracts 5 days from date*/
data new_data;
set original_data;
minus5days= intnx ('day', date, -5);
format minusdays date9.;
run ;
/*view dataset*/
proc print data = new_data;
Observe que a nova coluna chamada minus5days contém os valores da coluna de data com cinco dias subtraídos.
Exemplo 3: Use INTNX para encontrar o primeiro dia do mês
Podemos usar a função INTNX para criar uma nova coluna chamada firstmonth que contém o primeiro dia do mês para cada data na coluna de data :
/*create new dataset with column that contains first day of the month*/
data new_data;
set original_data;
firstmonth = intnx ('month', date, 0);
format firstmonth date9.;
run ;
/*view dataset*/
proc print data =new_data;
Observe que a nova coluna chamada firstmonth contém o primeiro dia do mês para cada data na coluna de data .
Exemplo 4: Use INTNX para encontrar o primeiro dia do ano
Também podemos usar a função INTNX para criar uma nova coluna chamada firstyear que contém o primeiro dia do ano para cada data na coluna de data :
/*create new dataset with column that contains first day of the year*/
data new_data;
set original_data;
firstyear = intnx ('year', date, 0);
format firstyear date9.;
run ;
/*view dataset*/
proc print data =new_data;
Observe que a nova coluna chamada firstyear contém o primeiro dia do ano para cada data na coluna de data .
Nota : Você pode encontrar a documentação completa da função SAS INTNX aqui .
Recursos adicionais
Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:
Como converter DateTime em data no SAS
Como converter uma variável numérica para data no SAS
Como calcular a diferença entre duas datas no SAS