dezimale ergebnisse aufrunden

Franz66

Benutzer
Beiträge
23
Code:
select
vorsorgeeinrichtung,

count (cm_anbieter) as Faelle_total,
Substr (close_date::text, 1,4) as abschl_jahr,
round(sum ((risikosumme)/1000000),2) as total,
count (case when abschlussgrund_cm ='CM erfolgreich' then 1 end ) as anzahl_erfolg,
sum (case when abschlussgrund_cm ='CM erfolgreich' then eingesp_risikosumme end)/1000000 as gesparte
from
tm_rep_04_dev

where

cm_anbieter is not null
group by abschl_jahr, vorsorgeeinrichtung
order by abschl_jahr
Hallo

bei dieser abfrage kriege ich die dezimale zahlen nicht hin
die spalte total und gesparte sollten in MIO dargestellt werden
z.B. 1'400'000 in 1.4 oder
600'000 in 0.6

mit "round" kriege ich folgende Meldung:

Funktion round(double precision, integer) existiert nicht

vielen dank für die geschätzte hilfe
 
Werbung:
bei dieser abfrage kriege ich die dezimale zahlen nicht hin
die spalte total und gesparte sollten in MIO dargestellt werden
z.B. 1'400'000 in 1.4 oder
600'000 in 0.6

mit "round" kriege ich folgende Meldung:

Funktion round(double precision, integer) existiert nicht

vielen dank für die geschätzte hilfe

Ich denke, einfach durch 1 Million teilen und to_char() nutzen, das hat eine ganze Menge Möglichkeitern der Formatierung.
 
ja, klar habe bereits mit dieser variante versucht:

to_char(sum ((risikosumme)/1000000),'0D99')

aber nacher habe ich ein Problem in Jasper - Chart erkennt die to_char nicht als numer und kann kei Charts kreiiren :-(
 
ja, klar habe bereits mit dieser variante versucht:

to_char(sum ((risikosumme)/1000000),'0D99')

aber nacher habe ich ein Problem in Jasper - Chart erkennt die to_char nicht als numer und kann kei Charts kreiiren :-(


Code:
test=*# select to_number(to_char(sum ((1000022)/1000000),'0D99'),'0D99');
 to_number
-----------
  1.00
(1 row)

Oder round() nehmen und nach numeric casten.
 
Werbung:
Mit dieser Variante habe ich zwar den % bereits drin aber immer noch als Text. Im JasperChart wird nicht bewertet :(

Code:
(sum (case when beginn_auf_tage >'-300' and beginn_auf_tage <'91' then 1 when beginn_auf_tage is null then 1 else 0 end))*100/
(sum (case when beginn_auf_tage >'-300' and beginn_auf_tage <'91' then 1 when beginn_auf_tage is null then 1 else 0 end)+
sum (case when beginn_auf_tage >'90' and beginn_auf_tage < '181' then 1 else 0 end)+
sum (case when beginn_auf_tage  >'180' and beginn_auf_tage < '361' then 1 else 0 end)+
sum (case when beginn_auf_tage  >'360' then 1 else 0 end))||'%' as Kat_90_2,
 
Zurück
Oben