SAS : Comment afficher les valeurs au format temporel



Supposons que vous ayez une variable dans SAS appelée durée qui a une valeur temporelle de 7:30:00 .

Vous pouvez utiliser les fonctions suivantes dans SAS pour formater cette valeur temporelle de différentes manières :

  • PUT(duration, time8.) – Format en temps avec une longueur totale de 8.
    • Cela produira 7:30:00.
  • PUT (durée, hhmm.) – Format en heure avec seulement les heures et les minutes.
    • Cela produira 7h30.
  • PUT(duration, hours5.2) – Formater sous forme d’heure avec des heures décimales.
    • Cela produira 7,50.
  • hour(duration) – Format en heures uniquement.
    • Cela produira 7
  • minute (durée) – Format en minutes uniquement.
    • Cela en produira 30.
  • seconde (durée) – Formater en secondes uniquement.
    • Cela produira 0.

L’exemple suivant montre comment utiliser chacun de ces formats dans la pratique.

Exemple : Afficher les valeurs dans les formats d’heure dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur le temps qu’il a fallu à différents athlètes pour terminer une tâche :

/*create dataset*/
data my_data;
    input athlete $ duration time8.;
    datalines;
A 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;

Par défaut, SAS stocke les valeurs de temps en secondes.

Par exemple, dans la première ligne, nous avons entré 4 heures, 15 minutes et 0 seconde, ce qui équivaut à 15 300 secondes.

Remarque : Il y a 86 400 secondes dans une journée.

Nous pouvons utiliser la syntaxe suivante pour créer un nouvel ensemble de données dans lequel nous formatons les valeurs de la colonne durée dans différents formats d’heure :

/*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;

Notez que chacune des nouvelles colonnes formate les valeurs temporelles d’une manière différente :

  • durée_time8 affiche les heures, les minutes et les secondes.
  • durée_hhmm affiche uniquement les heures et les minutes.
  • durée_hhmm affiche les heures décimales.
  • durée_hour affiche uniquement la valeur de l’heure.
  • durée_minute affiche uniquement la valeur des minutes.
  • durée_seconde affiche uniquement la valeur des secondes.

N’hésitez pas à utiliser le format de votre choix en fonction de la manière dont vous souhaitez afficher les valeurs temporelles dans votre ensemble de données.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

SAS : Comment afficher les valeurs au format dollar
SAS : Comment afficher les valeurs au format pourcentage
SAS : Comment formater les valeurs de date dans PROC SQL

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *