Comment puis-je organiser correctement l'ordre des options dans le sélecteur de colonnes sans modifier l'ordre réel des champs dans un DataTable ?
Dans le JSL fourni, le simple tri de la liste des colonnes n'affecte pas l'ordre des options dans le sélecteur de colonnes.
J'ai remarqué que parfois l'ordre des colonnes dans la table de données peut affecter l'ordre des options dans le sélecteur de colonnes, mais parfois non (j'en ignore la raison). Cependant, lorsqu'on travaille avec une table de données comportant de nombreuses colonnes, modifier l'ordre des colonnes est très chronophage et semble inutile. Existe-t-il un moyen d'obtenir le tri souhaité des options dans le sélecteur de colonnes sans modifier l'ordre des colonnes ?
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column( "Column 0", formula( :weight+1 ) );
dt << New Column( "Column 14", formula( :weight+2 ) );
dt << New Column( "Column 3", formula( :weight+3 ) );
dt << New Column( "Column 2", formula( :weight+4 ) );
dt << New Column( "Column 11", formula( :weight+5) );
dt << New Column( "Column 1", formula( :weight+6 ) );
dt << New Column( "Column ", formula( :weight+7 ) );
col = dt << get column names( string );
SwitchOption = {};
For Each( {value, index}, col,
If( Word( 2, value, " " ) != "",
SwitchOption = Insert( SwitchOption, col[index] )
)
);
//The column list before the order arrangement.
Graph = Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :Column 0 ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Graph << Column Switcher(
Column( "column 0" ),
SwitchOption,
Title( "Test" )
);
//The column list after the order arrangement.
orderedSwitchOption = {};
oder = {};
For Each( {value, index}, SwitchOption, oder = Insert( oder, Num( Word( 2, value, " " ) ) ) );
oder = Sort List( oder );
For Each( {value, index}, oder,
orderedSwitchOption = Insert( orderedSwitchOption, "Column " || Char( value ) )
);
Graph2 = Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :Column 0 ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Graph2 << Column Switcher(
Column( "column 0" ),
orderedSwitchOption,
Title( "Ordered Column" )
);
Je pense qu'avec le sélecteur de colonnes, vous devez soit vous fier à l'ordre des colonnes du tableau, soit à l'ordre alphabétique.

Je ne suis pas sûr de ce que signifie l'ordre d'origine dans ce cas, car il peut avoir une signification différente lorsque nous parlons de colonnes dans une table JMP.

mais je pense que dans le cas du sélecteur de colonnes, il pourrait s'agir de « Ordre du tableau » et non de l'ordre d'origine.
Pour la table JMP
Utilisation de JMP > Saisir et modifier vos données > Organiser les données dans des tableaux de données > Réorganiser les colonnes dans les tableaux de données
Original Commande
Renvoie les colonnes à l' ordre dans lequel elles se trouvaient lors du dernier enregistrement de la table de données.