sas如何计算列表中的项目

时间:2017-10-17 09:48:23

标签: macros sas counting

我想计算变量中的整数数,就像%countw计算变量中的单词数一样。

示例:

%let  test = 'aaa' 'bbb';
%let ntest = %sysfunc(countw(&test.));

ntest = 2 .. 我的问题是如何为整数做这个?

现在我有:

%let test2 = 12, 13, 14;

如何获得ntest = 3? 如何获得& test2中的项目数。?

如果这很荒谬,我很抱歉,我只是错过了文档。

1 个答案:

答案 0 :(得分:1)

因为宏变量值中有逗号作为分隔符,所以可以使用%superq函数来防止这些逗号在宏调用中被解释为参数分隔符。由于您的值由逗号和空格分隔,因此您可以在%str函数中指定它们,原因与之前相同。

%let test2= 12, 13, 14;
%let ntest=%sysfunc(countw(%superq(test2),%str(, )));