Динамические значения формата SAS proc - PullRequest
0 голосов
/ 23 декабря 2018
PROC FORMAT;   
  VALUE $Gender 'M'='Male'                    
                'F'='Female';  

Выше я передаю значение для формата обработки как 'm' = 'male' и 'f' = 'female' ... Так же, как мне нужно, чтобы значения передавались из файла иЗначения формата процесса поступают динамически.Как я это сделал.Как и мне нужно передать приведенное выше отображение m = male, f = female из файла, прочитать файл и передать это отображение для динамического форматирования.

1 Ответ

0 голосов
/ 24 декабря 2018

Чтобы сделать то, что вы просите, это делается, если вы можете поместить свои данные в набор данных. Процесс состоит из двух этапов: 1 - получение необработанных данных в набор данных 2 - использование вышеуказанного набора данных для получения желаемого формата, поэтому позвольте сделать это -

* шаг 1 -;

DATA fmt;
 Infile "Textfile.txt" DSD ;
 Retain fmtname '$myfmt';  /*myfmt is what your format name*/;
 Length start $2 label $50;
 Input start label ;
RUN; 

Теперь, так как приведенный выше код создаст набор данных с мужской информацией о женщине, используйте тот же набор данных для создания вашего формата.

* Шаг 2:

PROC FORMAT CNTLIN=fmt;
RUN; 

Самый простой способ создать формат из набора данных - это использовать опцию CNTLIN = в PROC FORMAT.НЕОБХОДИМЫЕ ПЕРЕМЕННЫЕ В ФОРМАТЕ ДАННЫХ (FMTNAME, START и LABEL) Переменная, используемая для

FMTNAME- Имя формата START - Левая сторона знака форматирования = (предполагаемый символ) - должна быть уникальной, если не задано Multi-Label формат LABEL- Правая сторона форматирования = знак

...