Prozentrechnung

Cr4m0

Benutzer
Beiträge
22
Hi,

ich habe eine Tabelle mit folgenden Spalten:

Ausgaben/Ausgabenlimit/Differenz



Ich möchte nun die Ausgaben in 3 Kategorien einteilen (A,B,C).
Dafür habe ich der Tabelle eine neue Spalte hinzugefügt die ich Category genannt habe.

Sollten die Ausgaben Größer oder gleich dem Ausgabenlimit sein fällt dies in Kategorie A
Sollten die Ausgaben 95-99% des Ausgabenlimit sein fällt dies in Kategorie B
Sollten die Ausgaben 90-95% des Ausgabenlimit sein fällt dies in Kategorie C

Kategorie A ist ja ganz einfach:
update Tabelle t set Category = case when ausgaben >= ausgabenlimit then 'A'

Wie setze ich dies nun mit den Prozentwerten um?

Viele Grüße
 
Werbung:
Hi,

ich habe eine Tabelle mit folgenden Spalten:

Ausgaben/Ausgabenlimit/Differenz



Ich möchte nun die Ausgaben in 3 Kategorien einteilen (A,B,C).
Dafür habe ich der Tabelle eine neue Spalte hinzugefügt die ich Category genannt habe.

Sollten die Ausgaben Größer oder gleich dem Ausgabenlimit sein fällt dies in Kategorie A
Sollten die Ausgaben 95-99% des Ausgabenlimit sein fällt dies in Kategorie B
Sollten die Ausgaben 90-95% des Ausgabenlimit sein fällt dies in Kategorie C

Kategorie A ist ja ganz einfach:
update Tabelle t set Category = case when ausgaben >= ausgabenlimit then 'A'

Wie setze ich dies nun mit den Prozentwerten um?

Viele Grüße

Code:
test=*# select * from cr4m0 ;
 ausgaben | ausgabelimit
----------+--------------
  10 |  10
  10 |  20
  10 |  5
  98 |  100
(4 rows)

test=*# select *, ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) as prozent, case when ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) >= 100 then 'A' when ((ausgaben::numeric/ausgabelimit)*100)::numeric(10,2) between 95 and 100 then 'B' else 'C' end as Kategorie from cr4m0 ;
 ausgaben | ausgabelimit | prozent | kategorie
----------+--------------+---------+-----------
  10 |  10 |  100.00 | A
  10 |  20 |  50.00 | C
  10 |  5 |  200.00 | A
  98 |  100 |  98.00 | B
(4 rows)

So vielleicht? Für C ist es nicht ganz korrekt, aber ich denke, Du siehst den Weg.

(ich mußte a bissl rumcasten, weil die Ausgangstabelle INT-Spalten hat)
 
Werbung:
Zurück
Oben