Comment faire fonctionner la zone de liste?Je suis nouveau sur JMP et je suis tombé sur la zone de liste qui nous permet de filtrer les données en fonction de la sélection, mais cela ne fonctionne actuellement pas pour moi. J'obtiens l'affichage de la zone de liste, mais cela ne change rien au graphique. Je m'attendrais à ce que l'heure change en fonction de l'arrivée ou du départ. Des suggestions ?
dt = Open("$sample_data/Air Traffic.jmp");
m_name = dt:Event << get values << As List(m_name);
gb_default = Expr(
Graph Builder(
Size(550, 372),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time)),
Elements(Box Plot(X, Y, Legend(19)))
);
);
nw = New Window("Traffic Monitor ",
gb = gb_default;
lbcontent = Lineup Box(N Col(10),
Spacer Box(Size(1, 0)),
Spacer Box(Size(1, 0)),
Spacer Box(Size(1, 0)),
Text Box("Airline: ", <<SET font="" size=""></SET>Modélisation statistique avancéeÉtudes de consommation et de marchéOrganisation du contenuExploration et visualisation des donnéesConception d'expériencesPersonnalisation de masseRe : Comment faire fonctionner la liste déroulante ?Lors de l'utilisation du filtre de données, il ne devrait pas être nécessaire d'ajouter la boîte source du filtre de données().Bien que cela fonctionne sur JMP de bureau, cela peut affecter d'autres sorties telles que JMP Live.La boîte Source du filtre de données doit être ajoutée lorsque vous souhaitez utiliser une plate-forme pour filtrer une (ou plusieurs) autres plates-formes.Cela modifie le script de @jthi pour démontrer les deux.
dt = Open("$sample_data/Air Traffic.jmp");
nw = New Window("Filter examples",
H List Box(
Tab Page Box("Data Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
dt << Data Filter(
Local,
Mode(Show(1), Include(1)),
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
)
)
),
Tab Page Box("Selection Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
Data Filter Source Box(
dt << Graph Builder(
Size( 343, 132 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( Y( :Event ) ),
Elements( Bar( Y, Legend( 2 ) ) )
)
)
)
)
)
)
);Re : Comment faire fonctionner la liste déroulante ?Sur ce qui précède, me conseilleriez-vous d'utiliser des filtres de données pour les deux ?
Re : Comment faire fonctionner la liste déroulante ?J'ai quelques problèmes avec le filtre de données local et la zone de liste déroulante. J'essaie de construire un outil pour mon entreprise donc j'ai besoin que la légende soit interactive, en même temps je veux que certains puissent mettre des filtres en fonction d'une colonne "saison" dans cet exemple. Mais dès que je change la légende, le filtre de données local continue de s'étendre vers le bas du graphique. Sauriez-vous ce que je peux faire pour améliorer cela ?
J'ai pris le tableau de données des animaux car il est très petit
dt = Open("$sample_data/Animaux.jmp");
xlist = dt << Obtenir les noms de colonne (chaîne);
gb_default = Expr(
Générateur de graphiques(
Taille (544, 356),
Afficher le panneau de configuration ( 0 ),
Position de la légende( "En bas"),
Ajuster à la fenêtre( "Désactivé"),
Variables( X( :espèce ), Y( :miles ), Couleur( :sujet ) ),
Filtre de données local(
Ajouter un filtre(
colonnes( :saison ),
Affichage ( : saison, taille ( 160, 60 ), affichage de la liste )
)
),
Éléments( Points( X, Y, Légende( 23 ) ) ),
EnvoyerVersRapport(
Expédition(
{},
"400",
Boîte de légende,
{Orientation( "Horizontal" ), Côtés( "Gauche" )}
)
)
));
gb_change = Expr(
Générateur de graphiques(
Taille (544, 356),
Afficher le panneau de configuration ( 0 ),
Position de la légende( "En bas"),
Ajuster à la fenêtre( "Désactivé"),
Variables( X( :species ), Y( :miles ), Color( Column( dt, ycol )) ),
Filtre de données local(
Ajouter un filtre(
colonnes( :saison ),
Affichage ( : saison, taille ( 160, 60 ), affichage de la liste )
)
),
Éléments( Points( X, Y, Légende( 23 ) ) ),
EnvoyerVersRapport(
Expédition(
{},
"400",
Boîte de légende,
{Orientation( "Horizontal" ), Côtés( "Gauche" )}
)
)
));
nw = Nouvelle fenêtre( "Test sur les animaux ",
gb = gb_default ;
lbcontent = Lineup Box( N Col( 10 ),
Boîte d'espacement (taille (1, 0)),
Text Box( "Couleur : ", < ycb = ComboBox(
xlist,
< < Fonction( {},
ycol = ycb << Obtenir ;
gb << supprimer ;
nw << Préfixe( gb = gb_change );
)
)
),
);
);
Re : Comment faire fonctionner la liste déroulante ?Je pense que vous pouvez le faire au moins en utilisant la boîte de contexte de filtre de données et la boîte de source de filtre de données
Names Default To Here(1);
dt = Open("$sample_data/Air Traffic.jmp");
nw = New Window("Selection Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
dfsb = Data Filter Source Box(
dt << Data Filter(
Local,
Mode(Show(1), Include(1)),
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
)
)
)
);Re : Comment faire fonctionner la liste déroulante ?Merci beaucoup pour cela, cela aide certainement! Sauriez-vous s'il est possible d'avoir un filtre de données local positionné sous le graphique plutôt qu'à gauche ?
Re : Comment faire fonctionner la liste déroulante ?Je suggérerais d'utiliser le filtre de données local pour cela au lieu de créer une zone de liste avec un jsl personnalisé.
Vous pouvez ajouter un filtre de données local à partir de la barre d'outils

ou menu triangle rouge

Names Default To Here(1);
dt = Open("$sample_data/Air Traffic.jmp");
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19))),
Local Data Filter(
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
);
