Bonjour,
J'essaie d'automatiser la concaténation de plusieurs colonnes dans une macro. Suite à une proc transpose, je me retrouve avec une table qui a plusieurs colonnes par enregistrement que je souhaite rassembler en une seule variable.
Mon étape data est alors la suivante :
Le problème est que je dois appliquer cette étape sur de nombreuses tables et le nombre de colonne peut varier (de 1 à quelques dizaines) ; si j'effectue une étape data "large" (en concaténant 100 colonnes par exemple pour être sûr de ne rien louper), il me colle à la fin de ma variable autant de "." que de colonnes qui "n'existent pas".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 data table4; set table3; var=strip(col1)!!strip(col2)!!strip(col3)!!strip(col4)!!strip(col5); drop _name_ col1-col5; run;
J'ai pu récupérer le nombre de colonnes grâce à l'instruction suivante (effectuée sur une autre table temporaire avant le proc transpose) :
Existe-t-il une solution pour concaténer mes colonnes n°1 à &nbcol (calculé ci-dessus) grâce à un paramètre macro ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 data _null_; set a; call symput("nbcol",trim(left(put(nb,2.)))); run;
Partager