J'expérimente la création d'un modèle de boîte de dialogue plus convivial pour mes clients. Au lieu d'utiliser des cases d'option ou des cases à cocher, j'utilise des zones de liste de cols pour que l'interface utilisateur ressemble davantage à la boîte de dialogue du modèle d'ajustement. Ce script est censé personnaliser les graphiques et la sortie pour faire gagner du temps à l'utilisateur lors de la production d'une sortie à partir d'un script JSL de table de données pour les PQA d'un produit donné.
Vous trouverez ci-joint un fichier JMP avec un ensemble de données de jouets avec des noms de colonne de base et des scripts JSL joints auxquels je fais référence tout au long de cet article.
J'ai une variable dans laquelle l'utilisateur entre un col appelé set_resultcol. Cette valeur de set_resultcol peut être utilisée avec n'importe quel en-tête de colonne d'ensemble de données (c'est-à-dire qu'un ensemble de données peut avoir « résultat » ou « Résultat » ou « Résultat (N) » ou « Valeur » comme en-tête de la variable numérique continue qui sera modélisée sur l'axe des ordonnées comme variable dépendante.
Cependant, je rencontre des problèmes avec l'expression de la valeur set_resultcol qui n'est pas exprimée dans le changement de nom du script de l'axe y dans l'option de zone de liste col que j'ai utilisée pour rendre l'interface utilisateur plus conviviale, même si j'ai essayé d'obtenir les valeurs de la liste résultante de la zone de liste col avec, par exemple {"Résultat"}[1]. Je suis encore nouveau dans le concept des zones de liste de cols dans la fenêtre modale, j'espère donc que je pourrai avoir des yeux plus expérimentés sur mon code JSL pour m'aider à déterminer ce qui peut être fait.
Lorsque j'ai utilisé des boîtes radio, la valeur résultante pour set_resultcol était une chaîne, qui pouvait être référencée dans le JSL ci-dessous pour renommer l'axe des ordonnées en PQA (attribut de qualité):

Names Default To Here( 1 );
dt = Current Data Table();
//part 1. ask user for column names in a new window nw1
//possible Group column name (should be character)
character_col_names = dt << Get Column names(character, String);
//possible result column name (should be numeric)
numeric_col_names = dt << Get Column names(Numeric, String);
nw1 = New Window("Set group by variable an",
<<MODAL></MODAL>Et le graphique résultant aurait l'étiquette de l'axe des ordonnées "Résultat" (par exemple) renommée "A" (le PQA est appelé "A" par souci de simplicité).

J'ai la boîte de dialogue modale suivante que j'ai créée avec la zone de liste col pour rendre la boîte de dialogue modale plus conviviale et esthétique avec une fonction de glisser-déposer au lieu d'afficher toutes les colonnes en même temps. Sous cette fenêtre, j'ai le code JSL correspondant avec lequel j'ai des problèmes concernant ces zones de liste de cols.

Names Default To Here( 1 );
dt = Current Data Table();
nw1 = New Window("Set variables for stability model",
<<MODAL></MODAL>Cependant, le graphique résultant est le suivant, avec le nom de l'axe des ordonnées, dans ce tableau de données "Résultat" sur l'axe des ordonnées, alors qu'il devrait indiquer "A" pour le PQA "A":

Je sais que la zone de liste col produit des listes de variables, car j'ai des options dans le script JSL qui me disent :
//is this set_resultcol a list? if so, show the contents.
Show(is list(set_resultcol)); // which gives 1 or “true” as shown in the log
Show(set_resultcol[1]); //which gives “Result” as shown in the log

Quel est le problème avec ce script JSL qui ne permet pas de le référencer dans l'ensemble de données ? Que puis-je faire pour résoudre ce problème ?
La seule documentation que je puisse trouver concernant ce problème se trouve dans les pages pdf "JMP 15 Scripting Guide" 524, 527-529 pour les zones de liste de cols et la section sur les listes de ce manuel. J'ai essayé ces exemples, mais ils ne me disent rien que je ne sache déjà.