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

Add a Comment

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