tags:

views:

336

answers:

3

Is there a way to open a SAS dataset for viewing (i.e., in the "ViewTable" window) from within a .sas file?

+6  A: 

I think this will do what you want:

dm log "vt sashelp.air";

Just change the "sashelp.air" part to your lib.table combo.

dw.mackie
+1  A: 

dw.mackie's answer is right on the money. That works great when submitted from the SAS editor window.

But I just want to caution you to be careful if you attempt it in batch mode (that is, having SAS run a .sas program directly from command-line using the -sysin option). It will indeed attempt to pop open the interactive SAS window environment upon execution.

But, if your batch code also attempts to build some graphs/charts, you'll be required to use the -noterminal option. And the -noterminal option isn't compatible with the dm command. You'd spot it right away in the log, but I just wanted to give you a heads-up.

robmandu
+3  A: 

Because of the size of some of my datasets I just do a simple proc print and limit the output to only 50 observations. I do this so often that I created the following macro that dumps the output to a html file.

%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;

Sample call for dataset test looks like

%dprt(test)
CTKeane
@BK- thank you for the code! It won't help me in this particular situation, but I think it will be very helpful in other situations.
Louisa Grey