Bonjour,
j'essaie de transformer un "vecteur " en tableau. Je dispose de données sur une seule ligne pour les 12 mois de l'année de plusieurs années à la suite.
Le nombre d'année est nom constant d'une étude à l'autre.
Je souhaite obtenir une ligne par année, suivant le schéma suivant:
Forme initiale:
DATA entree;
input P_012008 P_022008 P_032008 P_042008 P_052008 P_062008 P_072008 P_082008 P_092008 P_102008 P_112008 P_122008 P_012009 P_022009 P_032009 P_042009 P_052009 P_062009 P_072009 P_082009 P_092009 P_102009 P_112009 P_122009 P_012010 P_022010 P_032010 P_042010 P_052010 P_062010 P_072010 P_082010 P_092010 P_102010 P_112010 P_122010
;
cards;
150 200 333 128 356 545 452 222 341 123 456 654 233 155 217 337 133 373 549 457 239 345 128 473 658 237 133 490 455 133 373 549 457 239 758 465
;
run;
Forme finale souhaitée:
DATA sortie;
format Annee;
input Annee Janvier Fevrier Mars Avril Mai Juin Juillet Aout Septembre Octobre Novembre Décembre
;
cards;
2008 150 200 333 128 356 545 452 222 341 123 456 654
2009 233 155 217 337 133 373 549 457 239 345 128 473
2010 658 237 133 490 455 133 373 549 457 239 758 465
;
run;
Alternative de la forme finale: (peut être en utilisant substr)
DATA sortie;
format Annee;
input Annee M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M12
;
cards;
2008 150 200 333 128 356 545 452 222 341 123 456 654
2009 233 155 217 337 133 373 549 457 239 345 128 473
2010 658 237 133 490 455 133 373 549 457 239 758 465
;
run;
Je ne sais pas comment m'y prendre sous SAS. est ce que l'on peut transformer un vecteur en tableau et utiliser substr(nom_colonne,4) pour récupérer l'année et cats + substr(nom_colonne,3,2) pour récupérer le mois?
Merci pour votre aide.
Partager