Передать имя переменной в качестве аргумента модуля в SAS / IML - PullRequest
0 голосов
/ 16 марта 2012

В SAS / IML я пытаюсь построить модуль, который печатает имя входного параметра.

Следующий псевдокод описывает, что я хочу сделать:

START return_name (input_parameter);
    PRINT <the name of input_parameter>;
FINISH return_name;

Затем с:

RUN return_name (some_var);

Я получаю вывод:

some_var

Возможно ли это?

1 Ответ

0 голосов
/ 24 января 2013

Это невозможно в SAS / IML 9.3, поскольку в 9.3 нет функции, которая опрашивает таблицу символов родительской среды.

Однако в SAS / IML 13.1 (выпущено с SAS 9.4m1)Для этого вы можете использовать функцию PARENTNAME .Внутри модулей используйте

name = ParentName ("input_parameter");ПЕЧАТЬ имя;

...