Hi,
Ich suche nach einer Methode, um Legendenelemente im Graph Builder konsequent anzuvisieren und zu ändern.
Nachdem ich Variablen hinzugefügt habe, um das grundlegende Diagramm zu generieren, verwende ich die Dispatch-Anweisungen, um den Linienstil/die Farbe/die Größe zu ändern.
Das Problem, auf das ich stoße, ist, dass sich der Legendentext (oder die Element-IDs) ändern, je nachdem, welche Zeilen ich in die Datentabelle aufgenommen/ausgeschlossen habe, und daher funktioniert die Dispatch-Anweisung für einige Auswahlen, aber nicht für andere.
Beispiel:
LHS, ich habe mehrere Zeilen pro x-Kategorie (JahrMonat). Der Legendentext hat das Format - "Mean(ColumnName)" | RHS, mit ausgeschlossenen Zeilen habe ich nur a Single Zeile pro X-Kategorie. Der Legendentext hat das Format - "ColumnName" |
 |  |
Um die Legendenelemente zu ändern, verwende ich die Anweisung Legend Model (...) wie unten, wobei Item ID( "Mean(Yield_A)", 1 ) das zu ändernde Element identifiziert.
gb << send to report (
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 15,
Level Name( 0, "Yield_A", Item ID( "Mean(Yield_A)", 1 ) ),
Properties( 0, {Line Color( "red" ), Line Width( 6 )}, Item ID( "Mean(Yield_A)", 1 ) ),
)
}
));Ich verwende einen Datentabellenfilter zum Einschließen/Ausschließen von Zeilen, um das Diagramm auf ein einzelnes Segment oder Produkt einzugrenzen.
Bei der Filterung auf ein einzelnes Produkt gibt es eine einzelne Zeile pro JahrMonat und der Legendentext ändert sich wie im obigen RHS-Diagramm hervorgehoben.
Die ursprüngliche Element-ID ("Mean(Yield_A)", 1 ), die in der Dispatch-Anweisung verwendet wird, findet kein übereinstimmendes Element (der Spaltenname ist nicht mehr in mean() eingeschlossen).
Eine Problemumgehung besteht darin, die Anweisung(en) des Legendenmodells () zu duplizieren, um den Legendentext mit dem Format „ColumnName“ anzusprechen, z. B. Item ID( „Yield_A“, 1 ).
Das funktioniert, ist aber umständlich.
Fragen:
- Gibt es eine alternative/bessere Methode, um auf die Legendenelemente abzuzielen, die für beide oben genannten Fälle funktionieren?
- Gibt es eine eigenständige Dokumentation für die legend model()-Anweisung oder ihre Komponenten (ich konnte sie nicht finden)?
Ein letzter Gedanke... Ich gehe davon aus, dass das Löschen des Mean()-Wrappers im Legendentext beabsichtigt ist, wenn es nur eine einzige Zeile/einen einzigen Wert für jede x-Kategorie gibt, aber vielleicht wäre es sinnvoll, das Legendenelement weiterhin als "Mean( columnName)", auch wenn es nur einen einzigen Wert gibt? Immerhin ist die zusammenfassende Statistik für das Linienelement immer noch auf "Mittelwert" gesetzt.
Vielen Dank,
Strahl