View 是否可以从SAS视图表中获取源代码?

View 是否可以从SAS视图表中获取源代码?,view,sas,View,Sas,我有一个功能正常的SAS视图表,但是创建此视图的源代码丢失了。 是否可以直接从视图文件本身中提取它?它并不漂亮,但您可以从二进制视图文件本身读取定义 请参见以下示例: 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; 日志

我有一个功能正常的SAS视图表,但是创建此视图的源代码丢失了。
是否可以直接从视图文件本身中提取它?

它并不漂亮,但您可以从二进制视图文件本身读取定义

请参见以下示例:


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;
日志中给出了以下内容:

您也可以尝试:

data view = myview;
describe;
run;

如果您在最初创建
myview
的同一系统上运行它,则更可能实现此功能。

SAS中的许多视图都是使用PROC SQL创建的。Datastep视图非常少见。因此,描述视图可能会起作用

proc sql;
  describe view VIEWNAME;
quit;

注意:视图代码将写入日志

我收到此错误“错误:视图TEST12.main评估已损坏或不是数据步骤视图”。因此,此视图很可能是使用PROC SQL创建的。谢谢您的建议。我有400多行几乎不可读的文本。也许需要一些耐心:)是的,描述语句(对于datastep或sql版本)确实是正确的答案,我今天学到了一些新东西!为什么你断言数据步骤视图是“非常罕见的”。哦-哈哈,我只是假设它是一个数据步骤视图!我在不同的公司使用了20年SAS,但在生产环境中从未见过任何datastep视图。@lee它非常依赖于工作场所。例如,在我的工作场所,不鼓励使用
proc-sql
,数据步骤视图更为常见。
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;