Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Occasional Contributor
Beiträge: 9
Problem mit Excelausgabe / Autofilter (ODS) nach Umstellung auf SAS 9.4

hallo zusammen,

 

seit der Umstellung auf SAS 9.4 haben wir in einer Auswertung (die wir täglich erzeugen) das Problem, dass in unserer Excelausgabe (per ODS) der Autofilter mitten in die Daten gesetzt wird.

Verursacht wird dies wahrscheinlich durch einen Compute-Block zur Textausgabe im Proc Report auf dem zuvor erzeugten Excel-Sheet. Der Autofilter landet dann nicht in den Spaltenüberschriften, sondern in der letzten Datenzeile des vorhergehenden Sheets.

 

Nachstellen lässt sich das Problem mit folgendem Code:

data test;
   var1=1; var2=1; var3=10; output;
   var1=1; var2=2; var3=10; output;
   var1=1; var2=2; var3=10; output;
   var1=2; var2=1; var3=10; output;
   var1=2; var2=2; var3=10; output;
   var1=2; var2=2; var3=10; output;
   var1=2; var2=2; var3=10; output;
   var1=2; var2=2; var3=10; output;
   var1=2; var2=2; var3=10; output;
   var1=2; var2=2; var3=10; output;
run;
 
ods results;
ods _all_ close;
ods tagsets.excelxp file='p:\test.xls' style=styles.sasweb;
 
   * Excelsheet 1;
   ods tagsets.excelxp options(sheet_name='Sheet 1');
   proc report data=test nowd;
      column var1 var2 var3;
      define var1 / group    noprint;
      define var2 / group;
      define var3 / analysis sum;
 
      compute before var1;
         text = "Textausgabe ";
         line text $40.;
      endcomp;
   run;
 
   * Excelsheet 2 mit Autofilter;
   ods tagsets.excelxp options(sheet_name='Sheet 2' autofilter='all');
   proc report data=test nowd;
      column var1 var2 var3;
      define var1 / display;
      define var2 / display;
      define var3 / display;
   run;
ods _all_ close;
ods html newfile=proc;

 

Das Tabellenblatt 2 hat die Autofilter jetzt in Zeile 7:

Tabellenblatt2.jpg

 

Leider können wir auf den Compute-Block nicht verzichten.

Hat einer eine Idee, wie ich das beheben kann?

 

 

Vielen Dank und viele Grüße. Heide Tribius

Contributor
Beiträge: 21
Re: Problem mit Excelausgabe / Autofilter (ODS) nach Umstellung auf SAS 9.4
Hallo Heide,



kann den Fehler nachstellen. Allerdings gibt es in SAS 9.4 eine offizielle
neue ODS-Destination Ods Excel, letztlich die Weiterentwicklung von
tagsets.excelXP auf „aktuellem“ Stand der Microsoft XML-Spezifikation. Hier
wird ein echtes XLSX-Dokument erzeugt (Zip-File mit entsprechender
Verzeichnisstruktur) und da tritt der Fehler nicht auf…



Hoffe, das hilft weiter,



Viele Grüße,



Grischa Pfister



##- Please type your reply above this line. Simple formatting, no
attachments. -##
Occasional Contributor
Beiträge: 9
Betreff: Problem mit Excelausgabe / Autofilter (ODS) nach Umstellung auf SAS 9.4

hallo Grischa,

 

es funktioniert! Herzlichen Dank!

 

viele Grüße. Heide