Plusieurs personnes m'ont récemment interrogé, indépendamment les unes des autres, sur le filtrage des rapports dans JMP Live. Plus précisément, leur question était : « Est-il possible d'appliquer un filtre de données local dans JMP Live au filtrage de plusieurs graphiques ou onglets dans un même rapport ? » La réponse est oui, c'est tout à fait possible dans JMP Live. J'ai donc pensé qu'il serait utile de partager cette astuce afin que d'autres puissent en profiter.
En résumé, pour qu'un filtre de données local s'applique à plusieurs sorties, il faut utiliser une boîte de contexte de filtre de données, ce qui nécessite un script. L'index des scripts JMP (Aide > Index des scripts > Boîte de contexte de filtre de données) contient déjà un exemple illustrant son fonctionnement.
Jed_Campbell_0-1778876645258.png
Lorsque j'exécute cet exemple, une nouvelle fenêtre s'ouvre avec un filtre de données locales à gauche, et un graphique à bulles ainsi qu'un outil de création de graphiques à droite. Toute interaction avec le filtre de données locales modifie les deux autres éléments de la fenêtre.
exemple jsl.gif
Lorsque cette fenêtre est téléchargée sur JMP Live, le même comportement de filtrage se produit :
Exemple JMP Live jsl.gif
Pour passer d'un affichage multigraphique à une interface à onglets, une légère modification du script est nécessaire. Dans le script ci-dessous, j'ai ajouté une boîte à onglets ( ) autour du graphique à bulles et de l'outil de création de graphiques.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Shared Local Filter",
Data Filter Context Box(
H List Box(
dt << Data Filter( Local, Add Filter( columns( :sex ), Where( :sex == "F" ) ) ),
Tab Box( // <-- added tab box here
"Bubble", // <-- each tab needs a title
dt << Bubble Plot(
X( :weight ),
Y( :height ),
Fit To Window( "On" ),
Sizes( :age ),
Title Position( 0, 0 )
),
"Graph", // <-- each tab needs a title
dt << Graph Builder(
Size( 525, 456 ),
Show Control Panel( 0 ),
Fit To Window( "On" ),
Variables( X( :weight ), Y( :age ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) ),
)
)
)
)
);
L'exécution de ce script crée une interface à onglets, où le filtre de données local affecte les deux onglets.
Exemple de boîte à onglets jsl.gif
Le chargement de ce fichier dans JMP Live affiche la même interface à onglets, avec le même comportement de filtrage des données.
Exemple de boîte à onglets JMP Live jsl.gif
Cette astuce peut s'avérer très utile pour les tableaux de bord et autres outils où l'utilisateur devrait effectuer plusieurs sélections similaires si plusieurs filtres de données locaux étaient utilisés. Je serais ravi d'avoir des exemples d'utilisation.