[Mpuls-commits] r5811 - jmd/trunk/jmdstrukturweb/public/xml

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Fri Feb 10 12:41:24 CET 2012


Author: roland
Date: 2012-02-10 12:41:24 +0100 (Fri, 10 Feb 2012)
New Revision: 5811

Modified:
   jmd/trunk/jmdstrukturweb/public/xml/eval_gruppenangebote.xml
Log:
Only perform the sum if the value is greater than 0. This avoids problems when
the anonymisation turns 'unknown' into -9999999

Modified: jmd/trunk/jmdstrukturweb/public/xml/eval_gruppenangebote.xml
===================================================================
--- jmd/trunk/jmdstrukturweb/public/xml/eval_gruppenangebote.xml	2012-02-07 15:42:44 UTC (rev 5810)
+++ jmd/trunk/jmdstrukturweb/public/xml/eval_gruppenangebote.xml	2012-02-10 11:41:24 UTC (rev 5811)
@@ -41,7 +41,12 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, kjp_grp_anzahl_teilnehmer_weiblich, kjp_grp_anzahl_teilnehmer_maennlich,  %(xfield)s, %(yfield)s from %(from)s t JOIN rg_kjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(kjp_grp_anzahl_teilnehmer_weiblich) + SUM(kjp_grp_anzahl_teilnehmer_maennlich))</aggregate>
+      <aggregate>(SUM(CASE WHEN kjp_grp_anzahl_teilnehmer_weiblich > 0
+                        THEN kjp_grp_anzahl_teilnehmer_weiblich
+                        ELSE 0) +
+                  SUM(CASE WHEN kjp_grp_anzahl_teilnehmer_maennlich > 0
+                        THEN kjp_grp_anzahl_teilnehmer_maennlich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -66,7 +71,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, kjp_grp_anzahl_teilnehmer_maennlich, %(xfield)s, %(yfield)s from %(from)s t JOIN rg_kjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(kjp_grp_anzahl_teilnehmer_maennlich))</aggregate>
+      <aggregate>(SUM(CASE WHEN kjp_grp_anzahl_teilnehmer_maennlich > 0
+                        THEN kjp_grp_anzahl_teilnehmer_maennlich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -91,7 +98,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, kjp_grp_anzahl_teilnehmer_weiblich, %(xfield)s, %(yfield)s from %(from)s t JOIN rg_kjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(kjp_grp_anzahl_teilnehmer_weiblich))</aggregate>
+      <aggregate>(SUM(CASE WHEN kjp_grp_anzahl_teilnehmer_weiblich > 0
+                        THEN kjp_grp_anzahl_teilnehmer_weiblich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -109,7 +118,6 @@
   <evaluation>
     <id>5</id>
     <requirement>
-
     </requirement>
     <name>KJP-geförderte Gruppenangebote</name>
     <desc>Anzahl der TeilnehmerInnen</desc>
@@ -156,7 +164,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, kjp_grp_dauer_stunden,  %(xfield)s, %(yfield)s from %(from)s t JOIN rg_kjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(kjp_grp_dauer_stunden))</aggregate>
+      <aggregate>(SUM(CASE WHEN kjp_grp_dauer_stunden > 0
+                        THEN kjp_grp_dauer_stunden
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -207,7 +217,12 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, nichtkjp_grp_anzahl_teilnehmer_weiblich, nichtkjp_grp_anzahl_teilnehmer_maennlich,  %(xfield)s, %(yfield)s from %(from)s t JOIN rg_nichtkjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(nichtkjp_grp_anzahl_teilnehmer_weiblich) + SUM(nichtkjp_grp_anzahl_teilnehmer_maennlich))</aggregate>
+      <aggregate>(SUM(CASE WHEN nichtkjp_grp_anzahl_teilnehmer_weiblich > 0
+                        THEN nichtkjp_grp_anzahl_teilnehmer_weiblich
+                        ELSE 0) +
+                  SUM(CASE WHEN nichtkjp_grp_anzahl_teilnehmer_maennlich > 0
+                        THEN nichtkjp_grp_anzahl_teilnehmer_maennlich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -232,7 +247,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, nichtkjp_grp_anzahl_teilnehmer_maennlich, %(xfield)s, %(yfield)s from %(from)s t JOIN rg_nichtkjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(nichtkjp_grp_anzahl_teilnehmer_maennlich))</aggregate>
+      <aggregate>(SUM(CASE WHEN nichtkjp_grp_anzahl_teilnehmer_maennlich > 0
+                        THEN nichtkjp_grp_anzahl_teilnehmer_maennlich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -257,7 +274,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, nichtkjp_grp_anzahl_teilnehmer_weiblich, %(xfield)s, %(yfield)s from %(from)s t JOIN rg_nichtkjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(nichtkjp_grp_anzahl_teilnehmer_weiblich))</aggregate>
+      <aggregate>(SUM(CASE WHEN nichtkjp_grp_anzahl_teilnehmer_weiblich > 0
+                        THEN nichtkjp_grp_anzahl_teilnehmer_weiblich
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>
@@ -321,7 +340,9 @@
       <table>master_tbl_eval_total_view</table>
       <template>SELECT t.id, nichtkjp_grp_dauer_stunden,  %(xfield)s, %(yfield)s from %(from)s t JOIN rg_nichtkjp_gruppenangebote_tbl_view r ON r.master_id = t.id WHERE %(where)s</template>
       <where>(TRUE)</where>
-      <aggregate>(SUM(nichtkjp_grp_dauer_stunden))</aggregate>
+      <aggregate>(SUM(CASE WHEN nichtkjp_grp_dauer_stunden > 0
+                        THEN nichtkjp_grp_dauer_stunden
+                        ELSE 0))</aggregate>
     </basequery>
     <xdim>
       <label>Anzahl</label>



More information about the Mpuls-commits mailing list