When I tried to write a loop over some arguments countw gave me the answer that "where Gruppe=1!where Gruppe=2" consists of four words when using "!" as delimiter. Shouldn't it be 2?
I used countw as shown in the log below.
61 %macro test;
Looking at parentheses the ! is interpreted as a parameter for %sysfunc and not of countw. You're better of with
%sysfunc(countw(&Beds.,!));
Hope this helps,
- Jan
Looking at parentheses the ! is interpreted as a parameter for %sysfunc and not of countw. You're better of with
%sysfunc(countw(&Beds.,!));
Hope this helps,
- Jan
Your parentheses are in the wrong place. This works. I deleted other extra characters that you do not need.
%macro test;
%let a=%sysfunc(countw(where Gruppe=1!where Gruppe=2,!));
%put &a;
%mend;
%test
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.