Как мне программно получить опцию кодирования SAS?
-
03-07-2019 - |
Вопрос
Как узнать глобальный номер SAS encoding
вариант программно?Я могу бегать proc options
, и он даст мне ответ, но мне нужно сделать это из кода.
Я надеюсь получить ответ типа «посмотрите на макросимвол и системное кодирование», но, возможно, на это слишком много надежд.Я бы предпочел избегать хрупких вещей, таких как запись во внешний файл и повторный анализ.
Решение
Вы можете использовать функцию GETOPTION в Base SAS:
data _null_;
val=GETOPTION('encoding');
put val=;
run;
В моей системе это дает вывод журнала
5 data _null_;
6 val=GETOPTION('encoding');
7 put val=;
8 run;
val=LATIN1
В SCL (язык компонентов SAS) вы можете использовать функции OPTGETC и OPTGETN.Дополнительную информацию см. в руководстве для вашей конкретной версии системы SAS.
Другие советы
В САС 9.2 &sysencoding
даст вам то же самое, что и getoption('encoding')
хотя случай другой (описан кратко здесь).
157 %put &sysencoding;
wlatin1
158
159 data _null_;
160 val=GETOPTION('encoding');
161 put val=;
162 run;
val=WLATIN1