Salut,
Je recherche une méthode pour cibler et modifier de manière cohérente les éléments de légende dans le générateur de graphiques.
Après avoir ajouté des variables pour générer le graphique de base, j'utilise les instructions dispatch pour modifier le style de ligne/couleur/taille.
Le problème que je rencontre est que le texte de la légende (ou les identifiants d'éléments) change en fonction des lignes que j'ai incluses/exclues dans la table de données, et donc l'instruction de répartition fonctionnera pour certaines sélections mais pas pour d'autres.
Exemple:
LHS, j'ai plusieurs lignes par catégorie x (YearMonth). Le texte de la légende a le format - "Mean(ColumnName)" | RHS, avec des lignes exclues, je n'ai qu'un Célibataire ligne par catégorie x. Le texte de la légende a le format - "ColumnName" |
 |  |
Pour modifier les éléments de légende, j'utilise l'instruction Legend Model (...) comme ci-dessous, où Item ID( "Mean(Yield_A)", 1 ) identifie l'élément à modifier.
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 ) ),
)
}
));J'utilise un filtre de table de données pour inclure/exclure des lignes afin d'affiner le graphique à un seul segment ou produit.
Lorsqu'il est filtré sur un seul produit, il y a une seule ligne par AnnéeMois, et le texte de la légende change comme indiqué dans le graphique RHS ci-dessus.
L'ID d'article d'origine( "Mean(Yield_A)", 1 ) utilisé dans la déclaration d'expédition ne trouvera pas d'article correspondant (le nom de la colonne n'est plus enveloppé dans la moyenne())
Une solution de contournement consiste à dupliquer la ou les instructions du modèle de légende (), pour cibler le texte de la légende avec le format "ColumnName", par exemple Item ID( "Yield_A", 1 )
Cela fonctionne mais c'est encombrant.
Q :
- Existe-t-il une méthode alternative/meilleure pour cibler les éléments de légende qui fonctionnera dans les deux cas indiqués ci-dessus ?
- Existe-t-il une documentation autonome pour l'instruction legend model() ou ses composants (je ne l'ai pas trouvée) ?
Une dernière réflexion... Je suppose que lorsqu'il n'y a qu'une seule ligne/valeur pour chaque catégorie x, la suppression de l'enveloppe Mean() dans le texte de la légende est intentionnelle, mais il serait peut-être logique que l'élément de légende s'affiche toujours comme "Mean( columnName)", même lorsqu'il n'y a qu'une seule valeur ? Après tout, la statistique récapitulative de l'élément de ligne est toujours définie sur "Moyenne".
Merci,
Rayon