BookmarkSubscribeRSS Feed
Sven4IBM
Fluorite | Level 6

Gibt es ein Makro oder Möglichkeit vorgegebene Spalten inhaltlich zu scannen und den Text jeweils in Groß-/Kleinbuchstaben der Worte zu konvertieren ?

 

SAS IST EINE TOLLE PROGRAMMIERSPRACHE

-> Sas Ist Eine Tolle Programmiersprache

 

nach Substantiven noch zu unterscheiden, wäre dabei aber eher Zauberei ;o)

1 REPLY 1
ed_sas_member
Meteorite | Level 14

Hi @Sven4IBM 

 

Please post you messages in English.

 

/* At word level */
data word;
	var1 = 'SAS IST EINE TOLLE PROGRAMMIERSPRACHE';
	var1_lowcase = lowcase(var1);	/* sas ist eine tolle programmiersprache */
	var1_propcase = propcase(var1); /* Sas Ist Eine Tolle Programmiersprache */
	var1_upcase = upcase(var1); 	/* SAS IST EINE TOLLE PROGRAMMIERSPRACHE */
run;

/* At sentence level */

data sentence (drop=_:);
	var1 = "SAS IST EINE TOLLE PROGRAMMIERSPRACHE";
	_First_letter = tranwrd(substr(var1,1,1),substr(var1,1,1),upcase(substr(var1,1,1)));
	_Other = tranwrd(substr(var1,2),substr(var1,2),lowcase(substr(var1,2)));
	var2 = cats(_First_letter,_Other); /* Sas ist eine tolle programmiersprache */
run;

 

So in your case, the PROPCASE() function should be the right one.

 

 

NB: at sentence level, you could also use a pearl regular expression:

data word;
	var1 = 'SAS IST EINE TOLLE PROGRAMMIERSPRACHE';
	var2 = prxchange('s/(.)(.*)/\U$1\L$2/',1,var1);
run;

It looks for the pattern (.)(.*), meaning:

- Group1 = a character

- Group2 = zero, one ore more characters

 

It return /\U$1\L$2, meaning:

- Group1 in Uppercase (\U)

- Group2 in Lowercase (\L)

 

 

Best,

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 2991 views
  • 0 likes
  • 2 in conversation