Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceBonjour,
J'ai une plate-forme de distribution utilisant un sélecteur de colonnes rempli de colonnes provenant d'une variable de liste. Chacune de ces colonnes représente un paramètre de qualité différent et a donc des limites différentes qui sont collectées à partir d'une requête SQL.
Existe-t-il un moyen d'ajouter dynamiquement des lignes de référence à la plateforme de distribution lorsque le sélecteur de colonnes change de colonne ? À l'heure actuelle, j'ai un SendToReport exécuté en boucle pour chaque élément, mais il se termine par l'ajout simultané des lignes de référence pour toutes les colonnes, plutôt que des deux lignes nécessaires pour chaque colonne.
Un moyen simple de le faire serait si le sélecteur de colonnes prenait en charge un script "en cas de changement de colonne" - je pourrais alors supprimer les lignes de référence précédentes et ajouter les nouvelles à chaque fois qu'elles changent. Je n'ai trouvé aucune information sur l'index de script pour savoir si quelque chose comme celui-ci est pris en charge.
Version JMP : 14
has_limits = {"item 1", "item 2", "item 3"};
dist = dt << Distribution(
Continuous Distribution( Column( "item 1" ), Horizontal Layout( 1 ), Always use column properties( 1 ), Vertical( 0 ), Outlier Box Plot( 0 ) ),
Column Switcher( "item 1", has_limits )
);
For( n = 1, n <= N Items( has_limits ), n++,
tempUCL = Col Max( Column( dt, has_limits[n] || "_UCL" ) );
tempLCL = Col Max( Column( dt, has_limits[n] || "_LCL" ) );
Eval(
Eval Expr(
dist << SendToReport(
Dispatch(
{Expr( has_limits[n] )},
"1",
ScaleBox,
{Add Ref Line( Expr( tempUCL ), "Dashed", "Medium Dark Red", "UCL", 1 ), Add Ref Line(
Expr( tempLCL ),
"Dashed",
"Medium Dark Red",
"LCL",
1
)}
)
)
)
);
); Automatisation et scriptsRe : Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceIl semble que le gestionnaire de commutateur de colonne n'ait été ajouté qu'à JMP 16.

Re : Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceVoici un script qui vous y amène partiellement.Pour une raison quelconque, il supprime les valeurs Axis, mais si vous pouvez l'essayer sur vos données, vous pourrez peut-être comprendre comment le faire fonctionner correctement.Le code a été développé avec JMP 14
names default to here(1);
dt = open("$SAMPLE_DATA/blood pressure.jmp");
has_limits = {"bp 8m", "bp 12m", "bp 6m"};
for(i=1,i<=nitems(has_limits),i++,
new column(has_limits[i] || "_UCL", values(matrix(quantile(.75,column(has_limits[i])<<GET values=""></GET>Re : Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceMerci pour cela. Je n'ai pas encore trouvé les valeurs d'axe manquantes, c'est très étrange (montre également un curseur de "chargement") mais c'est au moins un pas dans la bonne direction.
Re : Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceUne solution pourrait consister à exécuter votre JSL, puis à accéder au triangle rouge dans la fenêtre de sortie du rapport et à sélectionner Enregistrer le script.Enregistrez-le dans une fenêtre de script, puis exécutez le script.Mes tests montrent que le code créé par JMP comporte les étiquettes X Azis manquantes.
J'ai soumis le bug au support JMP.
Re : Sélecteur de colonnes – Ajouter/supprimer dynamiquement des lignes de référenceUne autre solution de contournement qui semble fonctionner consiste à ajouter un remplissage (peut-être que quelque chose est poussé au-dessus de l'axisbox ?)

ou activez les graduations à l'intérieur du cadre graphique à partir des paramètres d'axe, bien que cela rende le graphique un peu bizarre et je pense que vous voudrez peut-être également activer les lignes de grille.

