Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeSalut,
lorsqu'un sélecteur de colonnes est lié à un graphique, JMP semble vérifier les colonnes "déjà existantes" dans le graphique et les supprime de la liste des entrées du sélecteur de colonnes.
La plupart du temps, c'est une fonctionnalité intéressante car elle évite les collisions entre le sélecteur de colonnes et les liens déjà existants entre le graphique et la colonne.
Mais il arrive parfois que cette fonctionnalité soit problématique.
Dans l'exemple ci-dessous, 3 colonnes sont partagées par les 2 sélecteurs de colonnes pour les axes X et Y du tracé - mais les valeurs de départ sont automatiquement supprimées de l'"autre" sélecteur de colonnes. :

Il peut encore y avoir une collision pour le « poids ». Mais si l'on essaie de régler les deux sélecteurs de colonnes sur "poids", cela est automatiquement détecté et empêché.
Donc – ici – la suppression automatique n’est pas aussi utile qu’elle devrait l’être.
Comment remettre les valeurs manquantes dans la liste ?
Une solution de contournement consiste à commencer avec des valeurs de départ dénuées de sens du graphique (qui peuvent ensuite être supprimées de la liste des sélecteurs de colonnes) - puis à modifier les valeurs de départ via JSL en valeurs plus significatives.
Existe-t-il un moyen plus simple, par exemple un paramètre pour la commande LinkPlatform, pour désactiver la suppression automatique ?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
Modélisation statistique avancéeAutomatisation et scriptsÉtudes de consommation et de marchéMélange et nettoyage des donnéesExploration et visualisation des donnéesPersonnalisation de massePartager et communiquer les résultatsRe : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeSi plus d'apparitions de la chaîne dans le code sont remplacées que prévu initialement, cela fonctionne-t-il également avec les formules définies « en ligne » ?
Par exemple, puis-je utiliser un sélecteur de colonnes pour modifier un tracé de probabilité cumulée (axes X et Y) en une autre variable ?
--> hm, malheureusement non. seul l'axe x est modifié, la formule utilisée sur l'axe y reste la même 
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)Re : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeD'ailleurs:
il faut veiller à utiliser des noms de colonnes factices suffisamment compliqués. Avec "x" et "y", j'ai eu de la chance.
Le code ci-dessous se termine par l'avertissement :
Cannot find OutlineBox[ "Grweightph Builder" ] at {}Il semble que le premier déclencheur de ColumnSwitcher ait modifié le "a" dans le code de la boîte de plan "Graph Builder" en "weight".
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");Re : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeDans les versions antérieures de JMP, le sélecteur de colonnes désactivait toutes les instances de la colonne choisie. Donc, si vous aviez un ajustement y par x, si vous sélectionniez une colonne pour l'axe vertical qui était la même que « x », alors pour toutes les colonnes choisies par la suite, x et y seraient tous deux remplacés. Dans les versions récentes de JMP, ils ont empêché cela avec l'alerte que vous mentionnez. L'historique derrière cela me dit que le sélecteur de colonnes n'est pas lié à un axe ou à une valeur de regroupement, mais qu'il essaie plutôt de remplacer toutes les instances, et les nouvelles versions de JMP empêchent simplement les collisions.
Je reçois la même alerte avec le code que vous avez posté ci-dessus.Si vous devez le faire, envisagez de créer un script avec deux zones de liste. Lorsqu'une autre colonne est sélectionnée, supprimez le tracé, récupérez les colonnes x et y et redessinez le tracé. vous pouvez utiliser ce pour référence.
Re : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeIl s'agit de la version avec les valeurs de départ factices.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");Re : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeSalut Jamo.
Oui, votre exemple est certainement l'un des nombreux cas où :
c'est une fonctionnalité intéressante car elle empêche les collisions du sélecteur de colonnes et les liens déjà existants entre le graphique et la colonne.
Je suis complètement d'accord.
La plupart du temps, la fonction de suppression automatique est utile, sans aucun doute.
La plupart du temps, mais pas toujours.
Pour N>=2 sélecteurs de colonnes et N>2 entrées dans les listes, l'utilisateur peut parcourir les sélecteurs de colonnes à l'infini à travers les versions intéressantes du tableau de bord.
Et toute collision est évitée par l'avis « Impossible de changer ».
Ainsi, un paramètre serait bien pour activer ou désactiver la fonctionnalité.
Re : Lier un sélecteur de colonnes à un graphique supprime les entrées de la listeJe me demande simplement ce que vous aimeriez qu'il se passe si vous vous trouvez dans la situation suivante :
- Axe X : hauteur, sexe sur l'axe Y
- Sélecteur de colonnes qui essaie d'avoir les deux
- Vous modifiez la valeur dans le sélecteur de colonnes. Quelle valeur doit être mise à jour et comment ?
Exemple simple où la hauteur sera supprimée, car nous initialisons le sélecteur de colonnes sur l'axe X avec :sex et :height est supprimé car il est déjà sur l'axe Y.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
Si un sélecteur de colonne tente de modifier plusieurs éléments du graphique en même temps, l'un d'entre eux sera supprimé et sera imprimé dans un journal avec le nom de la colonne supprimé :
Certaines colonnes choisies ont été utilisées dans l'analyse. Les colonnes suivantes ont été supprimées de la liste de sélection pour éviter toute substitution involontaire.
hauteur