Можно ли получить исходный код из таблицы представления SAS? - PullRequest
2 голосов
/ 05 июля 2019

У меня есть работающая таблица представления SAS, но исходный код, который создает это представление, потерян.Можно ли извлечь его непосредственно из самого файла представления?

Ответы [ 4 ]

3 голосов
/ 05 июля 2019

Вы также можете попробовать:

data view = myview;
describe;
run;

Скорее всего, это сработает, если вы запустите его в той же системе, где изначально был создан myview.

2 голосов
/ 05 июля 2019

Многие представления в SAS создаются с помощью PROC SQL.Просмотр данных очень редок.Таким образом, DESCRIBE VIEW может работать.

proc sql;
  describe view VIEWNAME;
quit;

ПРИМЕЧАНИЕ: код представления будет записан в журнал

1 голос
/ 05 июля 2019
DESCRIBE; 
Without Arguments 

Use the DESCRIBE statement to retrieve program source code from a stored compiled DATA step program or a DATA step view. SAS writes the source statements to the SAS log. 

25   data v / view=v;
26      set sashelp.class;
27      if sex eq 'F';
28      run;

NOTE: DATA STEP view saved on file WORK.V.
NOTE: A stored DATA STEP view cannot run under a different operating system.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds


29
30   data view=v;
31      describe;
32      run;

NOTE: DATA step view WORK.V is defined as:

data v / view=v;
   set sashelp.class;
   if sex eq 'F';
run;
1 голос
/ 05 июля 2019

Это не красиво, но вы можете прочитать определение из самого файла двоичного представления.

См. Следующий пример:


data myview /view=myview;
set sashelp.class;
x=age;
height=age*x;
run;

data _null_;
infile "%sysfunc(pathname(work))/myview.sas7bvew";
input;
put _infile_;
run;

Что дает ниже в журнале:

enter image description here

...