Bonjour,
Je cherche à concaténer le contenu d'une colonne dans une macro variable.
Une colonne de ma table contient des codes postaux (5 caractères) un code postal par ligne, résultat d'une opération compliquée.
L'objectif regrouper toutes les valeurs (normalement moins d'une centaine mais le nombre est variable) en une seule chaine. Exemple en dessous.
CodePostal
75115
75116
69001
2A100
et le transformer en une seule MaChaine = '75115','75116','69001','2A100' une concaténation avec les séparateurs qui vont bien.
L'objectif est ensuite de passer la chaine en paramètre répétitif à des requêtes, et éviter de traiter comme un IN (SELECT ...) y compris dans des fonctions de type IF pour du recodage et améliorer le temps de réponse (un pb d'un vrai big data).
J'ai tourné autour DATA avec RETAIN mais je dois m'y prendre mal ou c'est complètement inadapté pour des chaines. Un PIVOT de type TRANSPOSE semble pas adapté.
Et aucune idée de comment faire une boucle qui lit chaque ligne ... Bref je tourne en rond.
Merci pour la guidance vers un début de solution.
PS : je débute la partie programme sur SAS Enterprise Guide ayant besoin d'enchainer des requêtes complexes, tout en étant très autonome dans nombre de dialecte de SQL et langages de programmation
Partager