Je veux une réponse pour cela.
L'entrée que j'ai est: p> la sortie que je veux est la suivante: p> Comment imprimer la sortie dans ce format (c.-à-d. à l'envers) à l'aide de proc SQL code>? p> p>
4 Réponses :
Basé sur les informations données et en supposant que toutes vos données sont au même format, vous pouvez modifier la fonction substractionnelle dans ProC SQL
data have; value='ABC123'; run; proc sql; create table want as select value, substr(value,4,4)||substr(value,1,3) as new_value from have; quit; proc print data=want; run;
Vous voudrez probablement utiliser la garniture () pour traiter les espaces de fuite que SAS stocke dans des variables de caractères.
trim(substr(have,4))||substr(have,1,3)
Si vous voulez un algorithme qui fonctionnerait avec des chaînes similaires de toute longueur (tout nombre de lettres suivies d'un nombre quelconque de chiffres), je suggère d'utiliser des expressions régulières pour modifier la chaîne d'entrée.
data test1; inStr = "ABCdef12345"; run; proc sql; create table test2 as select prxChange("s/([A-z]+)([\d]+)/$2$1/", 1, inStr) as outStr from test1; quit;
base sas contient une fonction sortie: p> etc. p> p> p> p> P> inverse code> qui est dédiée à l'inverser une chaîne, ce qui peut être utilisé à la fois dans
proc SQL code> et dans un magasin de données. Voir exemple dans la documentation SAS < / a> ou ici:
Nom du SGBD s'il vous plaît
@Zaynulabadintuhin ... < Code> proc sql code> est un module dans le logiciel SAS et que sa dialecte par défaut est spécifique SAS, principalement ANSI-1992 SQL avec fonctions SAS disponibles.