打开SAS数据集以从.SAS程序中查看

打开SAS数据集以从.SAS程序中查看,sas,Sas,是否有方法从.SAS文件中打开SAS数据集进行查看(即在“ViewTable”窗口中)?我认为这将满足您的要求: dm日志“vt sashelp.air” 只需将“sashelp.air”部分更改为您的lib.table组合。dw。麦基的答案就在金钱上。从SAS编辑器窗口提交时效果非常好 但我只想提醒您,如果您尝试在批处理模式下运行它(即,让SAS使用-sysin选项直接从命令行运行.SAS程序),请务必小心。它确实会尝试在执行时弹出打开交互式SAS窗口环境 但是,如果批处理代码还试图构建一些图

是否有方法从.SAS文件中打开SAS数据集进行查看(即在“ViewTable”窗口中)?

我认为这将满足您的要求:

dm日志“vt sashelp.air”


只需将
“sashelp.air”
部分更改为您的
lib.table
组合。

dw。麦基的答案就在金钱上。从SAS编辑器窗口提交时效果非常好

但我只想提醒您,如果您尝试在批处理模式下运行它(即,让SAS使用-sysin选项直接从命令行运行.SAS程序),请务必小心。它确实会尝试在执行时弹出打开交互式SAS窗口环境


但是,如果批处理代码还试图构建一些图形/图表,则需要使用-noterminal选项。并且-noterminal选项与dm命令不兼容。你可以马上在日志中找到它,但我只是想给你一个提示。

由于我的一些数据集的大小,我只需执行一个简单的过程打印,并将输出限制为仅50个观察值。我经常这样做,因此创建了以下宏,将输出转储到html文件中

%Macro DPrt(Dset, obs=50, vars=, w=, Path="C:\output\");
    %LET BKPATH = &Path;
    %PUT BKPATH= &BKPATH;
    options obs = &obs.;
    title;
    ods listing close;
    ods html
        path  = &BKPATH.
        body  = "Debug-&Dset..htm"
        style = THEME;

        proc print data = &Dset n u split=' ';
        %if &vars NE %THEN %DO;
           var &vars.;
        %END;        
        %if &w NE %THEN %DO;
           &w;
        %END;        
        Run;

    ods html close;
    ods listing;
    options obs = MAX;
%Mend Dprt;
数据集测试的示例调用如下所示

%dprt(test) 

@谢谢你的代码!在这种特殊情况下,它对我没有帮助,但我认为在其他情况下它会非常有帮助。