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