Domaine d'application du sélecteur de col de filtre dans l'application<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'ai une question sur Application Builder (dans JMP 11).
J'ai deux "sélecteurs de colonnes de filtre" et deux tables. Maintenant, j'aimerais pouvoir sélectionner les colonnes de table1 avec Filter Col Selector1 et les colonnes de table2 avec Filter Col Selector2.
Je pouvais y parvenir si les sélecteurs de col du filtre sont dans des modules différents. Si vous définissez 'Current Data Table' sur la table correspondante avant le début du module, cela fonctionne comme vous le souhaitez.
Mais maintenant, j'aimerais avoir les deux sélecteurs de cols de filtres dans le même module.
Je n'ai pas réussi jusqu'ici, avec tous mes tests, les deux sélecteurs de cols de filtres ont travaillé avec le même tableau (tableau de données actuel).
Existe-t-il un moyen de faire en sorte que les sélecteurs de cols de filtres fonctionnent avec des tables différentes, même s'ils se trouvent dans le même module?
Cordialement
Peter
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationBonjour Dan
merci, avec JMP 11.2 tout fonctionne comme prévu.
Cordialement
Peter
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationSalut Peter,
Il y avait un bogue dans les versions initiales de JMP 11 qui affectait spécifiquement la sauvegarde / restauration d'applications telles que celle-ci. Le bogue a été corrigé dans JMP 11.2 et nécessiterait de recréer l'application pour que la version enregistrée soit correcte.
-Dan
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationPS: j'ai JMP 11.0.0
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationBonjour Dan
Merci beaucoup pour ta réponse.
Je l'avais déjà essayé tel que vous le décriviez mais je ne pouvais pas le faire fonctionner de manière fiable. J'ai le même problème avec votre exemple.
J'ai modifié votre exemple un peu, s'il vous plaît voir la pièce jointe. Je viens de changer l'emplacement des deux tables en "chemin complet". Comme vous pouvez le voir, FilterCol1 est lié à Data Table1 et FilterCol2 est lié à Data Table2.
Néanmoins, cela ne fonctionne pas comme prévu. Cette application a fonctionné juste après avoir apporté les modifications et avant de l'enregistrer. Mais si vous ouvrez maintenant l'application enregistrée pour les deux sélecteurs de colonnes filtrantes, la table de données actuelle est toujours utilisée ("Grande classe" si aucune autre table n'est ouverte).
C'est reproductible ici: si vous créez l'application à partir de zéro ou modifiez votre exemple, l'application fonctionne correctement. Mais si vous enregistrez, fermez et rouvrez l'application, les sélecteurs de colonnes de filtrage utilisent toujours la table de données actuelle et non celle spécifiée.
Qu'est-ce que je fais mal? Ou est-ce que cela pourrait être un bug?
Cordialement
Peter
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationCi-joint, un exemple d'application utilisant un sélecteur de colonnes de filtrage pour les exemples de données SATByYear (DataTable1) et Big Class (DataTable2).
Lorsque vous ouvrez la table .jmpappsource, vous obtenez les tables utilisées pour créer l'application. Si vous ouvrez le fichier .jmpapp (ou choisissez Lancer l'application à partir de JMP Application Builder), DataTable1 utilisera alors la table de données actuelle et DataTable2 sera une grande classe.
Objet: Champ d'application du sélecteur de col de filtre dans l'applicationSalut Peter,
Dans ce cas, il est probablement plus facile d'éviter les appels à Current Data Table à partir des scripts du module. Dans une application JMP, les objets de table de données ont une propriété "Emplacement" qui contrôle leur initialisation. La première table de données ajoutée à l’application (nom par défaut DataTable1) aura un emplacement de Tableau de données actuel , qui est essentiellement identique à:
DataTable1 = Table de données actuelle ();
Comme il ne peut y avoir qu’une seule table de données en cours au moment de l’exécution de l’application, les tables suivantes auront un paramètre Location de prénom , qui correspondra au nom de la table si elle est déjà ouverte, ou ouvrez le fichier en utilisant le chemin stocké s'il n'y a pas de table ouverte portant ce nom.
Pour créer l'application JMP que vous décrivez, vous souhaiterez suivre les étapes suivantes:
- Table ouverte 1
- Ajouter un sélecteur de col filtre à l'application
- Ouvrir le tableau 2 (ou mettre à jour s'il est déjà ouvert)
- Ajouter un sélecteur de col filtre à l'application
Vous avez peut-être déjà suivi cette procédure - L'étape 3 est importante car elle indique à App Builder que vous souhaitez utiliser deux tables différentes. Ceci fait, les emplacements DataTable1 et DataTable2 seront tels que décrits ci-dessus. Maintenant, lorsque vous exécuterez l’application, vous voudrez que votre table de données actuelle soit le tableau 1. Vous pouvez exécuter l'application avec une table de données en cours de la table 2, mais DataTable1 et DataTable2 feront ensuite référence à la même table (il s'agit d'un moyen d'obtenir le résultat que vous décrivez).
Il est possible que vous ne souhaitiez pas que l'une de vos tables utilise Current Table (). Vous pouvez modifier la propriété DataTable1 Location en prénom , Chemin (ouvert depuis un chemin spécifique), Rapide (ouvrez une boîte de dialogue pour mapper des tables) ou Scénario (définir la variable manuellement à partir du script d'application). En fonction de votre application, diverses combinaisons d’emplacement peuvent être utiles.
Une fois que vous avez créé votre application avec les comportements d'initialisation de table souhaités, vous souhaiterez utiliser DataTable1, DataTable2, etc., dans les scripts d'application. Ceci maintiendra l'application isolée des modifications apportées à la table de données actuelle ().
J'espère que cela pourra aider!
-Dan