Autor Thema: Mehrere Datensätze in einer Kreuztabellenzelle zusammenfassen?  (Gelesen 147 mal)

B3n

  • Sr. Member
  • ****
  • Beiträge: 118
Moin zusammen,

ich möchte gerne mehrere Datensätze in einer Kreuztabellenzelle zusammenfassen.

Hintergrund: Es gibt ein Ergebniswert, welche mehrere Werte haben kann. Darüber habe ich schon gruppiert. (Das Datenbankfeld ist wie ein Counter und bildet bereits eine Reihe)

Nun möchte, falls wiegesagt mehrer Werte auftreten, welche momentan nur in mehreren Zeilen dargestellt werden würden, diese in einer Zelle zusammenfassen.

Also statt:

1   1,0
2   2,0

1 1,0 ; 2,0

Habe folgendes versucht, was aber leider nicht gelingt; es wir immer nur der momentane Wert in den String mit aufgenommen, nicht die vorangegangenen:

local stringvar ResultRep;
Whileprintingrecords;
IF ({Tabelle.Counter} > 1) THEN
ResultRep := ResultRep & ";" & {Tabelle.Ergebnis}


Darüberhinaus soll der Wert, falls er bestimmte Grenzen aufweist, farblich markiert werden.

Bin mir nicht sicher, ob das was ich mir vorstelle überhaupt technisch möglich ist.

Ich danke vorab schon mal.

B3n

  • Sr. Member
  • ****
  • Beiträge: 118
Re: Mehrere Datensätze in einer Kreuztabellenzelle zusammenfassen?
« Antwort #1 am: 16. Oktober 2018, 12:49 »
Hallo,

ich habe es jetzt mit Next() versucht:

Das Problem ist, es soll aber nur der Next() Value genommen werden, wenn dieser den Wert {Tabelle.Counter} > 1 hat.

- Eine Reihe der Kreuztabelle ist also der Counter hier steht ein Wert:

Counter           Ergebnis
1                      5.1       
2                      5.93

Was ich gerne hätte wäre:


Counter          Ergebnis
                       5.1; 5.93

- Die Reihe, welche den Counter in der Kreuztabelle enthält, möchte ich gar nicht anzeigen.


Gibt es hier jemand, der eine Idee hätte?
Ich habe meinen Kenntnisstand leider vollendst ausgeschöpft.

Danke schon mal im vorraus


plinni

  • Experte
  • *****
  • Beiträge: 163
Re: Mehrere Datensätze in einer Kreuztabellenzelle zusammenfassen?
« Antwort #2 am: 17. Oktober 2018, 08:05 »
Du könntest die Werte evtl. schon mittels LISTAGG() auf SQL-Ebene zusammenfassen. Probiere alternativ aber mal bitte eine globale Variable, da die lokale Variante bei jedem Formelaufruf von vorn beginnt und die bisherigen Werte nicht mehr kennt.