カテゴリカル変数のローカル データ フィルターでは、カテゴリ変数がアルファベット順に表示されていることがわかります。
カウントで並べ替えるオプションもありますが、私は他の変数で並べ替えるオプションを求めていました。
私の場合、注文として使用したい特定のリストがありますが、その方法がわかりません。
以下より簡単な方法はありますか?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Selection Filter",
Data Filter Context Box(
H List Box(
dfsb = Data Filter Source Box(
Graph Builder(
Size( 419, 533 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( Y( :name, Order By( :age, Ascending, Order Statistic( "Mean" ) ) ) ),
Elements( Bar( Y, Legend( 3 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Filter" ), Image Export Display( Normal )}
)
)
);
),
Platform(
Current Data Table(),
Bubble Plot( X( :weight ), Y( :height ), Sizes( :age ), Title Position( 0, 0 ) )
)
)
)
);
以下は、作成中の内容を実行するために、デフォルトのローカル データ フィルターと値の順序列プロパティを使用するスクリプトです。スクリプトには順序を設定するための 2 つのメソッドが含まれています

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// If the sorting of the default data table is not an issue this simple code will set
// the order of the name column to the order found in the data table
/*dt << sort( by( :age ), order( Ascending ), replace table( 1 ) );
dt:name << set property( "value order", {Common Order( 0 ), Row Order Levels( 1 )} );*/
// The code below creates a subset of the default data when it sorts, and then sets the
// Value Order column property to the order found in the sorted data
dtSort = dt << sort( private, by( :age ), order( Ascending ) );
sortList = dtSort:Name << get values;
Close( dtSort, Nosave );
Eval(
Substitute(
Expr(
dt:name << set property(
"value order",
{Custom Order( __sList__ ), Common Order( 0 ), Numerical Order( 0 )}
)
),
Expr( __sList__ ), sortList
)
);
Bubble Plot(
X( :weight ),
Y( :height ),
Sizes( :age ),
Title Position( 0, 0 ),
Local Data Filter(
Add Filter(
columns( :name ),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 60 ), Max( 180 ), Inc( 20 ),
Minor Ticks( 0 )}
),
Dispatch(
{},
"height",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( 50 ), Max( 72.5 ), Inc( 5 ),
Minor Ticks( 1 )}
)
)
);