Join Now

Juletip #7 - Organiser tabeller og grafer ved side af hinanden i output

by SAS Employee GertNissen ‎12-09-2015 02:47 AM - edited ‎12-09-2015 03:25 AM (424 Views)

I ODS kan du nemt sætte tabeller, grafer ind i den rækkefølge og placering som du ønsker i din rapport. 

 

SAS EG ODS layout advanced.png

 

I venstre kolonne er et simplet kode eksempel som du kan arbejde videre på, men princippet er at du definerer antal rækker og kolonner i output. Rækkefølgen af dit SAS output i koden bestemmer hvor det bliver sat ind. Efter reglen horisontalt før vertikalt (rækker først) - pga. ODS option advance=table - Men du kan også selv styre region og meget mere.

 Simpelt introducerende eksempel:
ods HTML;
ods layout gridded columns=2 rows=2 advance=table;
 
     proc print data=sashelp.class;
       where sex='F';
     run;
 
     goptions hsize=3in vsize=3in;
     proc gchart data=sashelp.class;
       where sex='F';
       vbar age /discrete;
     run;
 
     proc gchart data=sashelp.class;
      where sex='M';
       vbar age /discrete;
     run;
 
     proc print data=sashelp.class;
       where sex='M';
     run;
 
ods layout end;
ods HTML close;

Du kan læse mere om 

ODS LAYOUT GRIDDED Statement i SAS dokumentationen.

 

Der findes også flere papers, hvor du kan få inspiration til mere avanceret layout teknikker, bla.

Output fra ovenstående kode ser således ud:

SAS EG ODS layout.png

 

Læg meget gerne dine eksempler op som kommentarer til denne post.

 

 

Comments
by SAS Employee BrianSvendsen_SAS
on ‎12-09-2015 04:03 AM

I forbindelse med at man har brug for at organisere sine tabeller og grafer ved siden af hinanden, kan man ligeledes anvende sgplot og yaxistable (eller xaxistable) - det er altså også rigtig smart. Kan anvendes fra SAS 9.4, og kan eksempelvis se ud som følgende:

 

proc sgplot data=sashelp.class noborder;
  hbar name / response=weight filltype=gradient
       fillattrs=graphdata1  datalabel
       baselineattrs=(thickness=0);
  yaxistable name / location=inside position=left  nostatlabel;
  yaxistable weight height / location=inside position=right  nostatlabel;
  yaxis  display=none;
  xaxis display=(nolabel noticks) grid offsetmin=0.05 ;
run;

 

Prøv at leg' lidt med det.