Home Forum Nuclos Konfiguration Reporting Mehrere Felder im Summenfeld definieren

Ansicht von 6 Beiträgen - 1 bis 6 (von insgesamt 6)
  • Autor
    Beiträge
  • #4404
    Martin Schwärzel
    Teilnehmer

    Guten Tag

    Ich möchte bei einer Reportquelle mit Gruppierungsfunktion mehrere Felder addiert in einem Feld ausgeben. Die SQL-Syntax wird als ok gemeldet, aber gerechnet wird irgendetwas, nur nicht das ich gerne hätte.

    Im SQL habe ich folgendes geschrieben:

    SUM(T4.“intnk1″+T4.“intnk2″+T4.“intnk3″+T4.“intnk4″) „summen“,

    Es wird irgendwie der Wert des in SQL beschriebenen letzten Feldes genommen und mit irgendetwas addiert. Wenn das letzte einzelne Feld leer ist, bleibt auch das Summenfeld leer.

    Wozu dies? Im Report hatte ich Probleme beim Addieren der Felder, wenn leere Felder mit Feldern mit Werten addiert werden. Da hat die Ausgabe auch nicht wirklich funktioniert.

    Danke und Gruss
    martin69

    #4415
    Matthias Haake
    Teilnehmer

    Hallo,

    das ist – vom ersten Eindruck her – kein Nuclos-Problem, sondern liegt eher am formulierten SQL. SUM ist eine Aggregatfunktion und sollte nur über ein Attribut der Tabelle angewendet werden.

    Die zweite angesprochene Problematik liegt darin begründet, dass irgendwas + NULL wiederum NULL ergibt. Diese Einstellung kann man auf der DB ändern. In der Regel reicht aber so etwas:
    ISNULL(T4.“INTNK1″, 0) + ISNULL(T4.“INTNK2″, 0) + …
    Falls der Wert NULL sein sollte, wird statt dessen 0 für die Berechnung verwendet.

    Viele Grüße und viel Erfolg,
    Matthias

    #4421
    Martin Schwärzel
    Teilnehmer

    danke für den Input, werde ich ausprobieren.

    #4436
    Martin Schwärzel
    Teilnehmer

    Ich kriege es nicht hin.
    Wenn ich die Reportquelle mit ISNULL(Feld1,0 )definiere, wird angezeigt, dass ISNULL nicht existiert

    Wenn ich es in Jasperreport versuche, akzeptiert es der Report, aber der Fehler kommt dann beim Import in Nuclos.
    Wie kann ich auf Jasperreport eine Summe pro Zeile anzeigen, wenn ich Feld1 und Feld2 bis Feldn von der gleichen Zeile addieren will und eines der beiden Felder Null ist.

    danke und Gruss
    Martin

    #4438
    Matthias Haake
    Teilnehmer

    Vielleicht liegts auch daran, dass wir unterschiedliche DB-Systeme einsetzen. Ich verwende für Nuclos den MS SQL Server. Falls dem so ist, müssten Sie dann das entsprechende Pendant für Ihr System heraussuchen.

    Mir ist schon mal IFNULL und NVL über den Weg gelaufen, die machen glaub ich das gleiche (aber nie getestet). Einfach mal probieren.

    Viele Grüße,
    Matthias

    #4459
    Martin Schwärzel
    Teilnehmer

    Hallo

    Für Postgres SQL ist die Summe von Werten mit NULL wie folgt zu lösen:

    Bsp:
    COALESCE(intnk1,’0′)+COALESCE(intnk2,’0′) „intnk1“

    Summiert die Werte vom Feld intnk1 und intnk2 und wenn leer gibt es den Wert 0.

    Gruss
    Martin

Ansicht von 6 Beiträgen - 1 bis 6 (von insgesamt 6)