Hallo @Frederike96,
WORK.UEB_02_MEANS is the same dataset as UEB_02_means. (Without mentioning the library, "WORK." is implied.) It contains numeric variables n_var and n_gerundet. When the LEFT function -- a character function -- is applied to them, SAS performs an automatic type conversion from numeric to character, which is mentioned in the log: For example, the numeric value 42 would be converted to the character string ' 42' of fixed length 12 (hence containing ten leading blanks). The LEFT function moves the non-blank characters to the left (intermediate result: '42 ') and the TRIM function removes the ten now trailing blanks so that the macro variables n_var and n_gerundet (same names, but this is not a necessity), which store text, receive values without leading or trailing blanks: '42' (without quotes) in our example. So, the result is correct, only the message in the log (about the conversion) is annoying.
Luckily, we can get rid of that note and at the same time simplify the code (without changing the results) because using TRIM and LEFT is unnecessary:
call symputx("n_var", n_var);
call symputx("n_gerundet", n_gerundet);
The trim(left(...)) technique made sense with the older CALL SYMPUT routine*, the predecessor of CALL SYMPUTX, but it's now obsolete with the more convenient new routine.
EDIT: *(but then the log message should be avoided by using the PUT function)
... View more