Publié le :
ETL CREATION_INTERNE

Conversion d'unités temporelles via Tableaux et Boucles

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce programme illustre l'utilisation des tableaux SAS© (ARRAY) pour appliquer une transformation mathématique identique à plusieurs colonnes. Il crée un jeu de données de test, convertit les valeurs (division par 60 avec arrondi à 0.1) via une boucle DO, et affiche le résultat final.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées directement dans le code via l'instruction DATALINES au sein de l'étape DATA EXPER.

1 Bloc de code
DATA STEP Data
Explication :
Création du jeu de données 'EXPER' contenant 5 variables numériques (TIME0 à TIME4) alimentées par des données internes (datalines).
Copié !
1DATA EXPER;
2 INPUT TIME0-TIME4;
3DATALINES;
4100 200 300 400 500
555 110 130 150 170
6;
2 Bloc de code
DATA STEP Data
Explication :
Transformation des données dans la table 'MINUTES'. Utilisation d'un ARRAY pour référencer les colonnes TIME0-TIME4 et d'une boucle DO pour diviser chaque valeur par 60 et l'arrondir à la première décimale.
Copié !
1DATA MINUTES;
2 SET EXPER;
3 array TIME[0:4] TIME0-TIME4;
4 DO i = 0 to 4;
5 TIME[i]= round(TIME[i]/60,0.1);
6 END;
7 drop i;
3 Bloc de code
PROC PRINT
Explication :
Impression du jeu de données transformé 'MINUTES' dans la sortie standard.
Copié !
1 
2PROC PRINT
3DATA=MINUTES;
4title'Problem 15.8 Listing of Time Measured in Minutes';
5RUN;
6 
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.