J'ai une intrigue qui est recouverte par des centaines de valeurs de catergorical. Lorsque l'utilisateur travaille avec, cela n'a de sens que de comparer 2, 3, 5 catégories au maximum et l'identifiant de l'utilisateur en le faisant via un filtre de données.
Mais rien n'empêche l'utilisateur de sélectionner les 150+ catégories. Dans ce cas, ils sont tous affichés dans la légende, cassant totalement les fenêtres. Étant donné que vous ne pourriez rien voir sur l'intrigue dans ce cas de toute façon, je suis d'accord pour limiter le nombre d'éléments de légende à, disons, 20, donc cela ne rompt pas la conception et sert toujours le but. Un moyen de spécifier la limite via JSL?
OK j'ai compris.
Calculez le nombre de catégories:
Categories = NItems(Associative Array (dt:CategoriesColumn));
Configurez le nombre d'éléments de légende souhaités:
LegendLevels = 3;
Construisez une liste qui a le même nombre d'éléments que le nombre de catégories que vous avez, remplissez-la avec des nombres consécutifs pour les niveaux que vous souhaitez afficher, et "-1" pour le reste:
p = {};
For(i=0, i < Categories, i+=1,
if(i <= (LegendLevels-1), p = Insert(p, i), p = Insert(p, -1))
);Utilisez cette liste lors du script de votre générateur de graphes, dans SendToReport ():
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Category" ), Legend Position( {5, Matrix(p)} ),
Position( Matrix(p) )}
)