Ho una trama che è sovrastata da centinaia di valori catergorici. Quando l'utente lavora con esso, ha senso confrontare solo 2, 3, massimo 5 categorie e l'ID utente tramite il filtro dei dati.
Ma nulla impedisce all'utente di selezionare tutte le 150+ categorie. In questo caso vengono visualizzati tutti in legenda, rompendo completamente le finestre. Dal momento che in questo caso non saresti comunque in grado di vedere nulla sulla trama, mi va bene limitare il numero di elementi della leggenda a, diciamo, 20, quindi non interrompe il design e serve comunque allo scopo. Qualche modo per specificare il limite tramite JSL?
Ok ho capito.
Calcola il numero di categorie:
Categories = NItems(Associative Array (dt:CategoriesColumn));
Imposta il numero di elementi della legenda che desideri:
LegendLevels = 3;
Costruisci un elenco che abbia lo stesso numero di elementi di quante categorie hai, riempilo con numeri consecutivi per i livelli che vuoi mostrare e "-1" per il resto:
p = {};
For(i=0, i < Categories, i+=1,
if(i <= (LegendLevels-1), p = Insert(p, i), p = Insert(p, -1))
);Usa questo elenco durante lo scripting del tuo Graph Builder, all'interno di SendToReport ():
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Category" ), Legend Position( {5, Matrix(p)} ),
Position( Matrix(p) )}
)