何百ものカテゴリ値がオーバーレイされたプロットがあります。 ユーザーがそれを使用する場合、2、3、最大5つのカテゴリー、およびデータフィルターを介してそれを行うユーザーIDを比較することは意味があります。
しかし、ユーザーが150以上のカテゴリすべてを選択することを妨げるものは何もありません。 この場合、それらはすべて凡例に表示され、ウィンドウが完全に壊れます。 この場合、とにかくプロット上に何も表示されないので、凡例アイテムの数をたとえば20に制限するだけで問題ありません。これにより、デザインが損なわれることはなく、目的を果たします。 JSLを介して制限を指定する方法はありますか?
はい、分かりました。
カテゴリの数を計算します。
Categories = NItems(Associative Array (dt:CategoriesColumn));
必要な凡例アイテムの数を設定します。
LegendLevels = 3;
カテゴリの数と同じ数の要素を持つリストを作成し、表示するレベルの連続番号を入力し、残りの場合は「-1」を入力します。
p = {};
For(i=0, i < Categories, i+=1,
if(i <= (LegendLevels-1), p = Insert(p, i), p = Insert(p, -1))
);SendToReport()内でグラフビルダーをスクリプト化するときに、このリストを使用します。
Dispatch(
{},
"400",
LegendBox,
{Set Title( "Category" ), Legend Position( {5, Matrix(p)} ),
Position( Matrix(p) )}
)