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