我想计算变量中的整数数,就像%countw计算变量中的单词数一样。
示例:
%let test = 'aaa' 'bbb';
%let ntest = %sysfunc(countw(&test.));
ntest = 2 .. 我的问题是如何为整数做这个?
现在我有:
%let test2 = 12, 13, 14;
如何获得ntest = 3? 如何获得& test2中的项目数。?
如果这很荒谬,我很抱歉,我只是错过了文档。
答案 0 :(得分:1)
因为宏变量值中有逗号作为分隔符,所以可以使用%superq
函数来防止这些逗号在宏调用中被解释为参数分隔符。由于您的值由逗号和空格分隔,因此您可以在%str
函数中指定它们,原因与之前相同。
%let test2= 12, 13, 14;
%let ntest=%sysfunc(countw(%superq(test2),%str(, )));