Comment créer un script pour le filtre de donnéesJ'ai un problème avec le script d'un filtre de données.Je souhaite créer un script dans lequel je crée un filtre de données qui exclut/masque certaines données, exécute une fonction graphique, exclut/affiche toutes les données, puis ferme la fenêtre de filtre.
Ce que j'ai jusqu'à présent, c'est
obj = Table de données actuelle() << Filtre de données (Ajouter un filtre ( /* Conditions de filtrage */ ));
/* Fonction graphique */
obj << Effacer ;
wdw = window("Filtre de données ");
wdw << fermer la fenêtre ();
Il s'agit d'une solution efficace, mais uniquement tant que le nom du fichier est exactement tel qu'il a été créé.Existe-t-il un moyen de généraliser le nom du fichier ?Alternativement, une autre méthode de fermeture de la fenêtre du filtre de données répondrait également à mes besoins.
Script - Filtre<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Merci beaucoup Dave!Je pense que j'ai compris à partir de là.
Script - FiltreLe code que vous écrivez est généré à partir du filtre de données en sélectionnant l'option script>Enregistrer le script dans la fenêtre de script par exemple
Table de données actuelle () << Filtre de données (
Emplacement ({638, 47} ),
Ajouter un filtre (colonnes ( :age, :sex ), Where ( :age == 12 ), Where ( :sex == "F" ) )
);
Pour obtenir une spécification JSL de la clause Where, vous pouvez utiliser l'option Enregistrer la clause Where> dans la fenêtre de script par exemple
Sélectionnez Où( :age == 12 & :sex == "F" );
L'équivalent programmatique de l'appui sur le bouton Effacer du filtre de données consiste à écrire
obj << Effacer les états de ligne ;
où obj est une référence à la table de données.
Dave
Script - FiltreDave@Pega-Analytics wrote:I get the sense that you are trying to use the data filter to automate the exclusion of data points in preparation for making a graph without using it interactively.
C'est exact.L'idéal est qu'un autre utilisateur JMP atteigne l'analyse finale à partir de n'importe quel formulaire de tableau (exclusions, sélections), exécute des graphiques, puis rétablisse la valeur par défaut du tableau.J'ai du mal à faire en sorte que ce script reconnaisse plusieurs conditions, au moins en l'écrivant comme je le ferais dans la fonction de filtre comme ceci.
Filtre de données( Ajouter un filtre(
colonnes( :Condition 1, :Condition 2),
Où( :Condition 1 == {"A", "B"} ),
Où( :Condition 2 == {"C", "D"}) ),
Mode( Sélectionner( 0 ), Afficher( 1 ), Inclure( 1 ) ) );
Comment ce filtre serait-il traduit en script ?Et comment effacer la sélection ?
Script - FiltrePar souci d'exactitude, le filtre de données fonctionne à l'inverse des états de ligne (c'est-à-dire qu'il utilise show et include alors que les états de ligne sont masqués et exclus), donc dans mon exemple ci-dessus, la sélection doit être inversée :
sel = obj << Sélectionner Où( /* conditions de filtre */ );
sel << Inverser la sélection de ligne ;
sel << Exclure ; /* exclure la sélection */
Script - FiltreTout d'abord désolé si je ne comprends pas ce que vous essayez de faire, mais j'ai l'impression que vous essayez d'utiliser le filtre de données pour automatiser l'exclusion de points de données en vue de créer un graphique sans l'utiliser de manière interactive.Le filtre de données n'est qu'un outil d'interface utilisateur pratique pour contrôler les états de ligne masqués et exclus. Si vous n'utilisez pas le filtre de manière interactive, il peut être plus facile de simplement scripter directement ces états de ligne :
obj = Table de données actuelle ();
sel = obj << Sélectionner Où( /* conditions de filtre */ );
sel << Exclure ; /* exclure la sélection */
/* fonction graphique */
sel << Exclure ; /* Désactiver l'exclusion de la sélection */
Dave