|
Autor |
SAS: RBREAK - eine Variable nicht ausgeben |
|
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 1018
Wohnort: Aachen
 | Themenstart: 2017-01-06
|
Hallo zusammen,
ich habe eine große Tabelle, mit der ich einige Abfragen in SAS erstelle und dann mittels proc report in einen Bericht schicke (als pdf).
Zwischendurch möchte ich Zwischensummen und auch eine Gesamtsumme anzeigen lassen. Die Tabelle ist aufgebaut mit den Spalten "Sparte", "Haustarif", "Stück Verträge", "Anteil in %".
"Sparte" hat mehrere Ausprägungen und ebenso "Haustarif". Der Werte "Stück Verträge" wird pro Sparten-/Haustarifgruppe ausgerechnet und pro Sparte (nur pro Sparte!) wird eine Zwischensumme gebildet, so dass die "Anteile in %" sich in der Zwischensumme auf 100 % addieren.
Ich realisiere das in SAS mit
\sourceon SAS
break after sparte /summarize
\sourceoff
Weiter hätte ich gerne am Ende eine Gesamtsummenzeile. Diese habe ich mit
\sourceon SAS
rbreak after /summarize
\sourceoff
erstellt.
Mein Problem ist jetzt, dass bei dem Wert "Anteil in %" nur Mist herauskommt. Es ist nicht so, dass er einfach alle %-Werte aufaddiert, denn dann käme eine glatte Zahl heraus. Das Ergebnis ist bei mir 438,7% (warum auch immer). Alles andere ist aber plausibel.
Nun würde ich diesen Wert gerne ausblenden.
Weiß jemand, wie das geht?
Danke und viele Grüße
Daniel
|
Profil
|
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 1018
Wohnort: Aachen
 | Beitrag No.1, vom Themenstarter, eingetragen 2017-01-08
|
Profil
|
AnnaKath
Senior  Dabei seit: 18.12.2006 Mitteilungen: 3818
Wohnort: hier und dort (s. Beruf)
 | Beitrag No.2, eingetragen 2017-01-08
|
Huhu mrdjv2,
vielleicht postest Du einmal das ganze PROC REPORT oder schaust Dir ansonsten noch einmal das Beispiel hier an.
lg, AK.
|
Profil
|
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 1018
Wohnort: Aachen
 | Beitrag No.3, vom Themenstarter, eingetragen 2017-01-08
|
danke...das werde ich morgen mal machen, wenn ich im Büro bin. Da habe ich den Code nämlich abrufbar...
|
Profil
|
mrdjv2
Aktiv  Dabei seit: 05.07.2003 Mitteilungen: 1018
Wohnort: Aachen
 | Beitrag No.4, vom Themenstarter, eingetragen 2017-01-09
|
wie versprochen der Code:
\sourceon SAS
proc report data=hostwork.aus nowd out=work.aus ps=55 ls=165 headline headskip missing;
Column sparte &nachlassart. ('Verträge' anzahl p1) ('Minderbeitrag' &minderbeitrag.) ('Beitrag' praemie durchschnitt vor_rabatt) ('Nachlass' p2);
define sparte /group order=internal width=15 'Sparte' ;
define &nachlassart. /group order=internal width=16 &nachlassart_string.;
define anzahl /sum format=commax10. width=12 'Stück';
define p1 /computed format=commax10.1 width=12 'in %';
define praemie /sum format=commax12. width=12 'absolut';
define durchschnitt /computed format=commax12.2 width=12 'Ø';
define &minderbeitrag. /sum format=commax15. width=20 'in EUR';
define vor_rabatt /computed format=commax15. width=12 'vor Rabatt';
define p2 /computed format=commax10.1 width=20 'in % von Gesamt';
compute before sparte;
a = anzahl.sum;
b = praemie.sum;
c = &minderbeitrag..sum;
endcomp;
compute p1;p1=(anzahl.sum/a)*100;endcomp;
compute vor_rabatt; vor_rabatt=(praemie.sum+&minderbeitrag..sum);endcomp;
compute p2;p2=(&minderbeitrag..sum/(praemie.sum+&minderbeitrag..sum))*100;endcomp;
compute durchschnitt; durchschnitt=praemie.sum/anzahl.sum;endcomp;
break after sparte /summarize style(SUMMARY)={background= Lightgrey foreground=black font_weight=bold};
rbreak after /summarize style(SUMMARY)={background= Lightgrey foreground=black font_weight=bold};
run;
\sourceoff
Der Report ist ein ein Makro eingebettet, welches achtmal ausgeführt wird (mit anderen Werten in den Variablen natürlich).
|
Profil
|
mrdjv2 hat die Antworten auf ihre/seine Frage gesehen. mrdjv2 hat selbst das Ok-Häkchen gesetzt. | mrdjv2 wird per Mail über neue Antworten informiert. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|