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
Contributor
Beiträge: 26
Kreuztabelle (proc tabulate) mit Summe und Anzahl im Enterprise Guide

Hallo,

wir experimentieren im Moment mit dem SAS Enterprise Guide, aber nicht als Ersatz für das Code schreiben so wie im "alten" Display-Manager-System (sas.exe), sondern wir wollen die Kreuztabelle zusammenklicken.

 

Wir wollten also testen, wie weit man mit der Klicki-Bunti-Oberfläche kommt.

Und schon haben wir ein Problem.

Wir wollen eine Kreuztabelle, die sowohl den Auftrags-Wert als auch die Auftrags-Anzahl pro Jahr ausgibt.

Mit dem proc tabulate kein Problem, im table-Befehl muss die Statistik sum und N verwendet werden, ungefähr so

auftJJJJ*(netwr_AK*SUM*f=commax14.2 N*f=commax7.)

und schon ist das Ergebnis da.

Im EG haben wir unter

Anwendungsroutinen -> Beschreiben -> Zusammenfassungstabellen

bzw. unter

Tasks -> Describe -> Table Analysis

gesucht, aber nichts gefunden.

Die Summe ist kein Problem, die ist leicht zu finden. Aber wie kann man in der gleichen Kreuztabelle die Anzahl ausgeben?

Die Anzahl alleine ist auch kein Problem, die erzeugt der EG mit dem proc freq und war unter

Anwendungsroutinen -> Beschreiben -> einfache Häufigkeiten zu finden.

 

Kann der EG gar nicht, was wir wollen?

Muss die Klicki-Bunti-Oberfläche so schnell die Waffen strecken und der Anwender muss ganz klassisch Code schreiben?

 

Viele Grüße

Hans

Contributor
Beiträge: 24
Re: Kreuztabelle (proc tabulate) mit Summe und Anzahl im Enterprise Guide

Hallo Hans,

Anwendungsroutinen -> Beschreiben -> Zusammenfassungstabellen

- Unter Daten die Analysevariablen und die Klassenvariablen auswählen

- Unter Zusammenfassungstabellen

- - Die Klassifizierungsvariable in die Spalten ziehen

- - Im den Zeilen taucht dann automatisch N auf

- - Die Analysevariable  zu der Klassifizierungsvariable ziehen

- - -  Die Klassifizierungsvariable teilt sich in 5 Bereiche auf, die Mitte und 4 Ränder

- - - Bei deinem Beispiel legst Du die Analysevariable in den unteren Rand==> Klasse * var

- - - In verfügbare Statistiken das N suchen und in den RECHTEN Bereich der VARIABLE legen. Das N aus der Zeile verschwindet und dafür taucht unter der Variable automatisch die Summe auf  ==> Klasse * (var * sum N)

- - - Rechtsklick auf die Summe

- - - - Datenwerteigenschaft - Ausgabeformat zu CommaX14.2 ==>Klasse * (var * sum * f=CommaX14.2 N)

- - - Dasselbe für N ==> Klasse * (var * sum * f = CommaX14.2  N * f = CommaX7.0)

 

Hier das Code-Ergebnis für SASHELP.CLASS für die Klasse SEX und die Variable HEIGHT:

PROC TABULATE
DATA=SASHELP.CLASS
    
    ;
    
    VAR Height;
    CLASS Sex /    ORDER=UNFORMATTED MISSING;
    TABLE /* Spaltendimension */
Sex*(
  Height*
    Sum*F=COMMAX14.2
  N*F=COMMAX7.)         ;
    ;

RUN;

 

Du kannst in dem Bereich Zusammenfassungstabellen noch vielmehr Eigenschaften einstellen. Wenn Du also eine komplizierte Tabelle mit verschiedenen Formatierungen für Label, Klassen, und Werten erstellen willst, kannst Du den EG gut gebrauchen, um dir ein Muster vorher zusammenzuklicken.

Unter Tabelleneigenschaften sind Optionen für das Tabulatestatement selber und die Tabelle.

Unter Rahmenbereichseigenschaft die Optionen für die Box.

Unter Überschrifteneigenschaften die Optionen für die Zeilen und Spaltenlabel

Unter KlassifizierungsKlassenausprägungs ....

 

Viele Grüße

 

Jan

Contributor
Beiträge: 26
Re: Kreuztabelle (proc tabulate) mit Summe und Anzahl im Enterprise Guide

Hallo Jan,

danke, das hört sich gut an. Das werden wir Montag ausprobieren.

Und ich glaubte echt, wir hätten alle Ecken durchforstet. Offensichtlich nicht. Bin mal gespannt wie das im EG aussieht, Deine Beschreibung ist sehr anschaulich, damit werden wir das bestimmt hinbekommen.

 

Viele Grüße

Hans

Contributor
Beiträge: 26
Re: Kreuztabelle (proc tabulate) mit Summe und Anzahl im Enterprise Guide
[ Bearbeitet ]

Hallo Jan,

hat mit Deiner guten Beschreibung prima geklappt, danke noch mal!

 

Unser Fehler war, dass wir den feinen Unterschied zwischen den Unter-Menüpunkten "Zusammenfassungstabellen" und "Zusammenfassungstabellen Assistent" bzw. zwischen "Summary Tables" und "Summary Tables Wizard" nicht beachtet hatten.

Wir hatten die ganze Zeit in der Ecke "Zusammenfassungstabellen Assistent" bzw. "Summary Tables Wizard" gesucht...

Das die Funktionalität dort geringer ist als in der Ecke für Fortgeschrittene, dass also im Unter-Menüpunkt  "Zusammenfassungstabellen" bzw. "Summary Tables" mehr Möglichkeiten existieren als im Assistent bzw. Wizard ist meiner Meinung nach eine Falle für den Anwender, die man hätte vermeiden sollen/können/müssen.

 

Nichts desto trotz ist mein Respekt vor dem Tool "SAS-EG" durch diese Aktion "Zusammenklicken einer proc tabulate Kreuztabelle" gestiegen. Ich bin von der Einfachheit des Zugangs zu dem SAS-System beeindruckt, vor allem im Gegensatz zum Erlernen der SAS-Sprache (den nötigen data step vor dem proc tabulate hatten wir auch mit dem EG zusammengeklickt) und dem Studium des SAS Procedures Guide.

 

Viele Grüße

Hans