Autor Thema: Kreuztabelle: Zelle nach Inhalt der Zeilenbeschriftung verändern  (Gelesen 176 mal)

Verwaiser

  • Newbie
  • *
  • Beiträge: 8
Hallo,

Ich habe eine Kreuztabelle in der folgenden Art:

           Q1   Q2   Q3
NRW         1    2    3
BY          9    8    3



Jetzt möchte ich gerne, dass der Wert, wenn am Zeilenanfang "BY" steht, z. B. in der Zelle neben der Zahl noch "a" oder "b" erscheint  (was zeitraumbezogen in einem weiteren Feld hinterlegt ist).

Die Tabelle sähe dann so aus:


           Q1   Q2   Q3
NRW         1    2    3
BY          9(a) 8(b) 3(b)



Also muss ich in der Zelle die Zeilenbeschriftung auswerten. Das scheint aber in der Art von

formula = {Zeitraum.Wert}

if {Land.Kuerzel) = "BY" then
   formula=formula + {Land.wasauchimmer)
end if

nicht zu funktionieren.

Ich könnte von Basic auf Crystal-Syntax wechseln, wenn es da ein Analogon zu "CurrentFieldValue" für den Zeilenanfang gäbe, ich habe aber bislang nichts gefunden.

Holger

« Letzte Änderung: 4. Februar 2018, 16:50 von Verwaiser »

Petalouda

  • Experte
  • *****
  • Beiträge: 321
Re: Kreuztabelle: Zelle nach Inhalt der Zeilenbeschriftung verändern
« Antwort #1 am: 20. Februar 2018, 13:01 »
Hallo Holger,

sieh dir doch mal die Lösung zu meinem Problem unter
http://www.sap-bi-forum.de/forum/index.php?topic=15850.0
an.

Ich kann jetzt auch die Spalte mit der Beschriftung abfragen.
Gruß

petalouda

Verwaiser

  • Newbie
  • *
  • Beiträge: 8
Hallo Herr Petalouda,

Versuche ich, die Formel im Formelworkshop in die Variable, die die Zellen der Kreuztabelle füllt, einzubauen, erhalte ich den Fehler "Diese Funktion kann nur im Kontext eines Werterasters verwendet werden".

Ich fürchte, dass ich damit zwar die Eigenschaften der Zelle verändern kann, jedoch benötige ich eine Möglichkeit, den Zellwert im Abhängigkeit der Zeilenbeschriftung zu ergänzen.

Gibt 's dafür auch eine Lösung?

Holger

Krug Andreas

  • Sr. Member
  • ****
  • Beiträge: 110
Hallo Verwaiser,
der Hinweis "Diese Funktion kann nur im Kontext eines Werterasters verwendet werden" sagt uns, dass Sie versuchen auf einen Rasterwert (Kreuztabelle) in eine gewöhnliche Formel zugreifen möchten. Das kann Crystal Reports nicht. Woher soll es denn wissen, welche Kreuztabelle sie verwenden soll, wenn es mehrere geben würde.

Die Rasterwerte können Sie nur in einer Kreuztabelle selbst verwenden.
In ihrem Fall müssten Sie das Wertefeld in der Kreuztabelle ändern.

Klicken Sie dazu mit der rechten Maustaste auf den Wert in der Kreuztabelle > Feld formatieren... > Registerkarte Allgemein > Zeichenfolge anzeigen
Dort müsste dann dieser Code rein:

if GridLabelAt ("Land.Kuerzel", currentRowIndex) ="BY"
then
    if GridLabelAt ("Zeitraum.Wert", currentColumnIndex) = "Q1" then currentfieldvalue & "(b)"
    else currentfieldvalue & "(a)"
else cstr(currentfieldvalue)

Land.Kuerzel und Zeitraum.Wert müssen sie entsprechend den Bezeichnungen des Rasterwertes anpassen. Die Anführungszeichen bleiben.
Sie finden diese unter Funktionen > Rasterwert > Zeilen- oder Spaltenname

Liebe Grüße,
Andreas Krug
« Letzte Änderung: 6. März 2018, 19:22 von Krug Andreas »