Bande apostrophes à partir d'une chaîne de caractères (compression?)
J'ai une chaîne qui ressemble à ceci:
"ABAR_VAL", "ACQ_EXPTAX_Y", "ACQ_EXP_TAX", "ADJ_MATHRES2"
Et j'aimerais qu'elle ressemble à ceci:
ABAR_VAL ACQ_EXPTAX_Y ACQ_EXP_TAX ADJ_MATHRES2
I. e. pas d'apostrophes ou des virgules et unique séparés par un espace.
Ce qui est le plus propre /plus court chemin à faire dans le SAS 9.1.3?
De préférence quelque chose le long des lignes de:
call symput ('MyMacroVariable',compress(????,????,????))
Juste pour être clair, le résultat doit être unique séparées par des espaces, dépourvue de ponctuation, et contenues dans une macro variable.
Vous devez vous connecter pour publier un commentaire.
Ici vous allez..
Est cette partie de l'instruction infile ou êtes-vous en effet de vouloir créer des macro-variables qui contiennent ces valeurs? Si cela fait partie d'une instruction infile vous ne devriez pas besoin de faire quoi que ce soit si vous avez le délimiteur défini correctement.
Et oui, en effet, vous pouvez utiliser la compression de la fonction pour supprimer des caractères à partir d'une chaîne de caractères, soit dans une des données de l'étape ou dans le cadre d'un appel de macro.
Des Données De L'Échantillon:
Résoudre le problème dans les données de l'étape (plutôt que de créer une macro variable):
Résoudre le problème tout en générant une macro variable:
Vous aurez à boucle à travers les observations afin de voir le comprimé valeurs de la variable pour chaque enregistrement si vous utilisez le dernier code. 🙂
Pour compresser plusieurs espaces en un, utilisez compbl : http://www.technion.ac.il/docs/sas/lgref/z0214211.htm