Tengo una trama que se superpone con cientos de valores categóricos. Cuando el usuario trabaja con él, solo tiene sentido comparar 2, 3, máximo 5 categorías y la identificación del usuario haciendo eso a través del filtro de datos.
Pero nada impide que el usuario seleccione las más de 150 categorías. En este caso, todos se muestran en leyenda, rompiendo totalmente las ventanas. Como de todos modos no podría ver nada en la trama en este caso, estoy de acuerdo con limitar el número de elementos de leyenda a, digamos, 20, para que no rompa el diseño y aún así sirva para el propósito. ¿Alguna forma de especificar el límite a través de JSL?
Ok, lo tengo.
Calcule el número de categorías:
Categories = NItems(Associative Array (dt:CategoriesColumn));
Configure cuántos elementos de leyenda desea:
LegendLevels = 3;
Construya una lista que tenga la misma cantidad de elementos que la cantidad de categorías que tiene, llénela con números consecutivos para los niveles que desea mostrar y "-1" para el resto:
p = {};
For(i=0, i < Categories, i+=1,
if(i <= (LegendLevels-1), p = Insert(p, i), p = Insert(p, -1))
);Utilice esta lista cuando cree un script en su Graph Builder, dentro de SendToReport ():
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Category" ), Legend Position( {5, Matrix(p)} ),
Position( Matrix(p) )}
)