Kategorische Variablen im lokalen Datenfilter sortieren (nicht alphabetisch)Mir ist aufgefallen, dass der lokale Datenfilter für kategoriale Variablen diese in alphabetischer Reihenfolge anzeigt.
Es gibt eine Option, sie nach Anzahl zu sortieren, aber ich wollte sie nach anderen Variablen sortieren.
In meinem Fall habe ich eine bestimmte Liste, die ich als Bestellung verwenden möchte, bin mir aber nicht sicher, wie das geht.
Gibt es einen einfacheren Weg als den folgenden?
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 ) )
)
)
)
);
GrafikSkriptingBetreff: Kategorische Variablen im lokalen Datenfilter sortieren (nicht alphabetisch)Hier ist ein Skript, das den standardmäßigen lokalen Datenfilter zusammen mit der Spalteneigenschaft Wertreihenfolge verwendet, um das zu erreichen, was Sie erstellen.Das Skript enthält 2 Methoden zum Festlegen der Reihenfolge

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 )}
)
)
);