Tabelle erstellen

Hallo,
ich würd gern aus einem Datensatz ein Tabelle erzeugen, hab aber bisher nur die proc tabulate und die proc freq für Häufigkeitszählungen verwendet.

Jetzt hab ich folgende Situation:
Erste Variable= Bundesland, zweite Variable= Geschlecht, dritte Variable= irgendein berechneter Wert.
Die Tabelle soll von den ersten beiden Variablen aufgespannt werden, die dritte Variable soll in der Tabelle stehen.
wie kann ich das machen?

danke, M

Proc tabulate

Hallo Monika,

das geht so.

proc tabulate data = tabelle;
class bundesland geschlecht;
var Wert;
table
bundesland,
geschlecht * wert * (n sum mean median max min stderr stddev /* ... */)
;
run;

Schöne Grüße

Jan

Danke

Hallo Jan,
vielen vielen Dank :)

mehrere Spalten?

Hallo,
gibts auch einen Befehl der heißt "nimm einfach den Wert der dortsteht"?
Da in meinem Datensatz jede Kombination eh nur einmal vorkommt, nehm ich SUM. Aber ich denke das ist eine Notlösung und muss besser gehen.

Kann ich auch mehrere Variablen in einer Tabelle so darstellen?
Ich hab sie Syntax folgendermaßen abgewandelt und bin dabei zu dieser Fehlermeldung gekommen:

1524 PROC TABULATE MISSING DATA=library.asr_rechn;
1525 FORMAT KRE_GESCHL sex_zus. KRE_bdl bdl_zus.;
1526 CLASS KRE_GESCHL KRE_bj KRE_bdl KRE_icd10_3/ORDER=FORMATTED PRELOADFMT;
1527 VAR asr_who_ACO asr_who_CI5;
1528 TABLE
1528! ((KRE_GESCHL)*(KRE_bj)*(KRE_icd10_3)),
1528! ((KRE_bdl)*(asr_who_ACO)*(SUM)*f=COMMAX20.2*(asr_who_CI5)*(SUM)*f=COMMAX20.2)/PRINTMISS;
1529 RUN;

WARNUNG: Dimension-Crossing hat mehrere Format-Modifier.
FEHLER: Mehrere Analysevariablen sind mit einer einzigen Tabellenzelle in der folgenden
Verschachtelung verbunden: KRE_GESCHL * KRE_bj * KRE_icd10_3 * KRE_bdl * asr_who_ACO * Sum
* f * asr_who_CI5 * SUM * f.
FEHLER: Mehrere Statistiken sind mit einer einzigen Tabellenzelle in der folgenden Verschachtelung
verbunden: KRE_GESCHL * KRE_bj * KRE_icd10_3 * KRE_bdl * asr_who_ACO * Sum * f *
asr_who_CI5 * Sum * f.
HINWEIS: Das SAS System hat die Verarbeitung dieses Schritts aufgrund von Fehlern abgebrochen.
HINWEIS: PROZEDUR TABULATE benötigt. (Gesamtverarbeitungszeit):
Echtzeit 0.01 Sekunden
CPU-Zeit 0.01 Sekunden

Analysevariablen mit Stern-Operator verknüpft

Hallo Monika,

meines Wissens nach gibt es keinen Befehl, der einfach nur die Zahlen so nimmt wie sie da stehen. SUM ist da eine mögliche Lösung, es geht eigentlich jede Aggregatfunktion. Wenn man ein ALL hinzufügt, muss man die Funktion nehmen, die man für die ALL Zeile benötigt. Mann muss sich halt sicher sein, dass es wirklich nur einen Datensatz für jede Zelle gibt.
Dein Fehler wurde in der Fehlermeldung benannt. Du hast die Variablen "asr_who_ACO" und "asr_who_CI5" mit einem Stern-Operator verknüpft. Du musst die Variablen aber in einer Klammer ohne Verknüpfung nebeneinander stellen (asr_who_ACO asr_who_CI5).
Die Ausgabe von SUM in den Spaltenköpfen kannst du mit 'SUM=""' unterdrücken. Du benutzt SUM ja nur als Notnagel.

PROC TABULATE MISSING DATA=library.asr_rechn;
FORMAT KRE_GESCHL sex_zus. KRE_bdl bdl_zus.;
CLASS KRE_GESCHL KRE_bj KRE_bdl KRE_icd10_3/ORDER=FORMATTED PRELOADFMT;
VAR asr_who_ACO asr_who_CI5;
TABLE
KRE_GESCHL * KRE_bj * KRE_icd10_3,
KRE_bdl *(asr_who_ACO asr_who_CI5) * SUM = "" * f=COMMAX20.2
/PRINTMISS
;
RUN;

Schöne Grüße

Jan

Danke

Hallo Jan,
dass mein Fehler in der Fehlermeldung steht hab ich sogar erkannt, auch das die Verknüpfung das Problem ist. Nur hatte ich keine Lösung. Ich hab (*peinlich*) noch nie zwei Variablen einfach nebeneinander gestellt. funktioniert aber sehr praktikabel. Vielen Dank,
Monika