Sas: como exibir valores em formato de hora


Digamos que você tenha uma variável no SAS chamada duração que possui um valor de tempo de 7:30:00 .

Você pode usar as seguintes funções no SAS para formatar esse valor de tempo de diferentes maneiras:

  • PUT(duration, time8.) – Formato de hora com duração total de 8.
    • Isso produzirá 7:30:00.
  • PUT (duração, hhmm.) – Formato de hora contendo apenas horas e minutos.
    • Isso produzirá 7:30.
  • PUT(duration, hours5.2) – Formato como hora com casas decimais.
    • Isso produzirá 7,50.
  • hora(duração) – Formato apenas em horas.
    • Isso produzirá 7
  • minuto (duração) – Formato apenas em minutos.
    • Isso produzirá 30.
  • segundo (duração) – Formato apenas em segundos.
    • Isso produzirá 0.

O exemplo a seguir mostra como usar cada um desses formatos na prática.

Exemplo: Exibir valores em formatos de hora no SAS

Digamos que temos o seguinte conjunto de dados no SAS que contém informações sobre quanto tempo levaram diferentes atletas para completar uma tarefa:

 /*create dataset*/
data my_data;
    input athlete $duration time8.;
    datalines ;
At 04:15:00
B 10:09:15
C 7:30:00
D 18:55:00
E 14:23:59
F 23:45:10
;
run ;

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

Por padrão, o SAS armazena valores de tempo em segundos.

Por exemplo, na primeira linha inserimos 4 horas, 15 minutos e 0 segundos, o que equivale a 15.300 segundos.

Nota : Existem 86.400 segundos em um dia.

Podemos usar a seguinte sintaxe para criar um novo conjunto de dados onde formatamos os valores da coluna de duração em diferentes formatos de hora:

 /*create new dataset with duration printed in various time formats*/
data new_data;
set my_data;
    duration_time8 = put (duration, time8. );
    duration_hhmm = put (duration, hhmm. );
    duration_hour52 = put (duration, hour5.2 );
    duration_hour = hour (duration);
    duration_minute = minute (duration);
    duration_second = second (duration);
run ;

/*view new dataset*/
proc print data = new_data; 

Observe que cada uma das novas colunas formata os valores de tempo de uma maneira diferente:

  • duração_time8 exibe horas, minutos e segundos.
  • duração_hhmm exibe apenas horas e minutos.
  • duração_hhmm exibe horas decimais.
  • duração_hora exibe apenas o valor da hora.
  • Minute_duration exibe apenas o valor do minuto.
  • duração_segundo exibe apenas o valor de segundos.

Sinta-se à vontade para usar o formato que desejar, dependendo de como deseja exibir os valores de tempo em seu conjunto de dados.

Recursos adicionais

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

SAS: Como exibir valores no formato dólar
SAS: Como exibir valores em formato percentual
SAS: Como formatar valores de data em PROC SQL

Add a Comment

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