sysfunc не работает.

Что случилось с этим вызовом sysfunc?

%let mystring = hello world;

%let mycount =  %sysfunc(count(&mystring, 'hello')); 

%put &mycount;

выходы

[PUT]  0
2
nl ja de

1 ответы

Поскольку вы находитесь за пределами datastep, вам не нужны кавычки вокруг hello (кавычки являются частью строки, а не ее разделителями). Поэтому это должно работать:

%let mystring = hello world;
%let mycount =  %sysfunc(count(&mystring, hello)); 
%put &mycount;

Еще один пример, чтобы проиллюстрировать, что здесь происходит, это также напечатает 1:

%let mystring = 'hello' world;
%let mycount =  %sysfunc(count(&mystring, 'hello')); 
%put &mycount;
3
добавлено