Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderBonjour : je vais voir si je peux formuler clairement ma question.J'ai un tracé créé via Graph Builder dans JMP v 14.1. J'ai ajouté un filtre de données local (avec 9 variables) afin de pouvoir visualiser certains sous-ensembles de données.J'ai également choisi l'option "conditionnelle" dans le filtre de données locales.Jusqu'ici, tout va bien.Mais j'ai du mal à voir comment l'ordre conditionnel peut être modifié.Je vois que je peux réorganiser la liste des variables de filtre (glisser-déposer), mais cela a peu ou pas d'effet sur l'ordre dans lequel le conditionnement est effectué.Il y a un nombre entre parenthèses (par exemple, [3] ) devant chaque variable de filtre de données locales pour montrer l'ordre de conditionnement.Je ne vois aucun moyen de les modifier de manière ciblée.Par exemple, peu importe comment elles sont ordonnées dans la liste, la variable avec "[4]" devant elle doit être choisie avant la variable qui a "[7]" devant elle sinon le conditionnement ne fonctionne pas Comme il se doit. Pour faciliter l'utilisation, j'aimerais faire correspondre l'ordre de conditionnement des variables à l'ordre des variables indiqué.Comment puis-je y parvenir ? Pour autant que je sache, il n'y a rien dans le script que je puisse modifier pour influencer l'ordre de conditionnement. Et j'ai essayé de repartir de zéro et d'ajouter des variables au filtre de données local dans l'ordre de conditionnement souhaité, pour constater que l'ordre de conditionnement change quelque part en cours de route... et je n'ai aucune idée de comment cela se produit !
Merci les amis
Marque
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderCela a plus de sens si :sex est remplacé par une colonne :label.
L'idée:
prédéfinir l'ordre du filtre de données conditionnel (utilisez :label comme présélection et laissez-le déterminer quelles entrées apparaissent dans le filtre :name ; comme le filtre hiérarchique dans un tableau de bord),
sans rien sélectionner dans le filtre de données local :

La solution de contournement : définissez un filtre et effacez la sélection
Voir plus... adaptation d'une première version avec la participation de :
https://community.jmp.com/t5/Discussions/Ho-to-send-messages-to-a-local-data-filter-inside-a-graph/mp/554829/highlight/true#M76940
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderJe ne suis pas sûr de comprendre ce que vous essayez d'obtenir ? Pouvez-vous expliquer davantage ?
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderCette conversation est très utile pour comprendre le comportement des paramètres de filtre de données "conditionnels" 
Existe-t-il une possibilité de définir la séquence de « conditionnel » sans limiter le filtre de données spécifique à une entrée ?
quelque chose comme ça
Graph Builder(
Size( 535, 638 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 31 ) ), Smoother( X, Y, Legend( 32 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age, :name ),
Where( :sex == <EM><STRONG>ANYTHING</STRONG></EM>),
Where( :age == 14 ),
Where( :name == "ALFRED" ),
Display( :age, Size( 202, 114 ), List Display ),
Display( :name, Size( 202, 285 ), List Display )
)
)
);
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderMerci Jeff, maintenant je vois comment ça marche ! Tout s'explique maintenant. Et merci à vous et à Martin pour vos réponses rapides et éclairées ; votre perspicacité a été très utile.
Marque
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderL'ordre conditionnel est déterminé par l'ordre dans lequel les colonnes sont utilisé dans le filtre, pas dans l'ordre dans lequel ils sont affiché . Si vous travaillez de manière interactive, c'est l'ordre dans lequel vous effectuez vos sélections dans chaque colonne. Si vous travaillez en JSL, c'est l'ordre dans lequel ils apparaissent dans le script.
De manière interactive, après avoir ajouté toutes vos colonnes au filtre et activé l'option Conditionnelle, la première colonne dans laquelle vous effectuez une sélection sera marquée d'un [1] et les autres colonnes afficheront uniquement les valeurs de cette sélection. La prochaine colonne dans laquelle vous effectuerez une sélection sera marquée par [2], et ainsi de suite. Vous pouvez réinitialiser la commande en cliquant sur le bouton Effacer en haut du filtre de données, puis en recommençant vos sélections.

Si vous faites cela avec JSL, c'est l'ordre dans lequel ils apparaissent dans les clauses Where().
dt = Open( "$SAMPLE_DATA\Car Physical Data.jmp" );
dt << Graph Builder(
Size( 527, 575 ),
Show Control Panel( 0 ),
Variables( X( :Horsepower ), Y( :Gas Tank Size ) ),
Elements( Points( X, Y, Legend( 86 ) ), Smoother( X, Y, Legend( 87 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :Model, :Country, :Type ),
Where( :Type == "Small" ),
Where( :Country == "Japan" ),
Display( :Model, Size( 170, 240 ), List Display ),
Display( :Type, Size( 170, 80 ), List Display )
)
)
);
dt << Graph Builder(
Size( 527, 575 ),
Show Control Panel( 0 ),
Variables( X( :Horsepower ), Y( :Gas Tank Size ) ),
Elements( Points( X, Y, Legend( 92 ) ), Smoother( X, Y, Legend( 93 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :Model, :Country, :Type ),
Where( :Country == "Japan" ),
Where( :Model == "Dodge Colt" ),
Where( :Type == "Small" ),
Display( :Model, Size( 170, 240 ), List Display ),
Display( :Type, Size( 170, 80 ), List Display )
)
)
);
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderSalut Martin, je *pense* que vous pouvez le reproduire si vous procédez comme suit.
1. Avec Conditionnement désactivé, créez le filtre de données local comme vous me l'avez montré (sexe/âge/nom ordonné)
2. Choisissez ensuite Conditionnel.
3. Sélectionnez ensuite, dans "nom", ALFRED.
4. puis sélectionnez parmi "sexe", M (seul choix)
5. puis sélectionnez parmi "âge", 14 (seul choix)
Vous verrez alors (je pense) [2] sexe, [3] âge, [1] nom. Ils sont désormais numérotés dans l'ordre dans lequel vous les avez sélectionnés, et non dans l'ordre de la liste.Déplacez ensuite (glissez-déposez) le sexe vers le bas.
Vous verrez [3] âge, [1] nom, [2] sexe. Ainsi, l’ordre de la liste a changé… mais pas les chiffres. Il semble que vos sélections initiales soient importantes. Et si cela s'est produit, la seule façon que je vois pour résoudre ce problème est d'activer l'option Conditionnelle (je pense).
Marque
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderSalut Mark,
heureux que vous ayez trouvé une solution de contournement. Cependant, pour moi, l'ordre sera simplement modifié automatiquement, donc je ne peux pas avoir le [1] à la fin, cela changera automatiquement le [1] en [3]. Pouvez-vous vérifier auprès de notre support technique si cela diffère du comportement "normal" ou si je suis juste trop stupide pour reproduire 
Meilleur
Martin
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderSalut Martin : Je *pense* avoir trouvé la solution. Et, si c'est le cas, c'est une solution aussi simple (il s'avère).Si l'ordre de la liste et l'ordre de conditionnement ne sont pas synchronisés, placez-les simplement (glissez-déposez) dans l'ordre de liste souhaité dans lequel vous souhaitez que l'ordre conditionnel soit, puis désactivez l'option Conditionnelle, puis réactivez-la. Il semble que l'action réinitialise l'ordre conditionnel pour qu'il corresponde à l'ordre de la liste.
Marque
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderSalut Martin : Merci beaucoup, votre réponse est très utile. En suivant vos pas, exactement, j'ai pu reproduire ce que vous avez fait avec les Big Class Families. La clé semble être associée non seulement à la solution telle que vous la décrivez, mais elle semble également faire une différence si une sélection particulière est effectuée pour une variable donnée ou si une variable donnée est laissée seule afin qu'elle réponde en quelque sorte. aux conditions précédentes de manière passive juste avant la réorganisation par glisser-déposer.Par exemple, en utilisant votre ensemble de données Big Class Families, j'ai réussi à le faire facilement (voir photo).Et ce genre de chose est exactement ce que j’essaie d’éviter et de corriger !Et pour les variables 9-11, cela semble presque impossible...
Re : Comment modifier l'ordre conditionnel du filtre de données local dans Graph BuilderSalut Mark,
juste pour être sûr d'avoir bien compris. L'utilisation d'un filtre de données local avec de nombreuses variables ne vous permet pas de modifier l'ordre à l'aide du filtrage conditionnel ? Vous avez essayé de modifier l'ordre mais les numéros restent les mêmes dans les cases de filtre ?
Hum, c'est intéressant. J'utilise JMP 14.1. également, en utilisant des exemples de données de Big Class Families pour montrer ce que j'ai fait.
1. Ajout d'un filtre de données local - définissez le filtrage conditionnel - puis modifiez l'ordre du filtre défini.
Initial local data filterInitial local data filterFiltre de données local initial
Conditional filter with selection to see hierarchyConditional filter with selection to see hierarchy Filtre conditionnel avec sélection pour voir la hiérarchie
Changed ordering per drag and dropChanged ordering per drag and drop Ordre modifié par glisser-déposer
Vous pouvez voir les changements de filtre conditionnels car je pense que vous vous y attendez également.
La deuxième option consiste à créer un filtre de données local dans l'ordre dans lequel vous souhaitez que les variables apparaissent, puis à définir le filtrage conditionnel.
Eh bien, d'après ce que vous avez dit, cela ne fonctionne pas pour vous, n'est-ce pas ? Ou est-ce que j'ai raté quelque chose ?
Une autre option consiste à enregistrer le script dans une fenêtre de script. Vous obtiendrez quelque chose comme ceci :
Graph Builder(
Size( 535, 638 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 31 ) ), Smoother( X, Y, Legend( 32 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :sex, :age, :name ),
Where( :sex == "M" ),
Where( :age == 14 ),
Where( :name == "ALFRED" ),
Display( :age, Size( 202, 114 ), List Display ),
Display( :name, Size( 202, 285 ), List Display )
)
)
);
Changer l'ordre des instructions Where(.. modifiera également l'ordre de filtrage conditionnel, ou du moins devrait 
S'il vous plaît laissez-nous savoir si cela fonctionne pour vous comme pour moi.
Merci,
Martin