LesezeichenAbonnierenRSS-Feed abonnieren
HeideTribius
Fluorite | Level 6

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

2 ANTWORTEN 2
GrischaPfister
Fluorite | Level 6
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. -##
HeideTribius
Fluorite | Level 6

hallo Grischa,

 

es funktioniert! Herzlichen Dank!

 

viele Grüße. Heide

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Diskussionsstatistiken
  • 2 Antworten
  • 1303 Aufrufe
  • 1 Kudo
  • 2 in Unterhaltung