Liaison virtuelle de deux tables via un script JSLJ'en ai une une table ouverte par l'utilisateur.
Après un peu de code python, je génère une autre table qui se termine :
- avoir un sous-ensemble de colonnes (en gardant les mêmes noms de colonne)
- partageant son index temporel (quelques lignes peuvent avoir été supprimées).
Comment peut-on lier ces deux tables via JSL ?
La fonctionnalité que je recherche est d'avoir quelque chose d'équivalent comme si je faisais un sous-ensemble dans JMP.
// Start of script;
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Bands Data.JMP" );
dt << Subset(
Linked,
Suppress formula evaluation( 0 ),
Sampling Rate( 0.9 ),
columns( :timestamp, :proof cut, :viscosity, :caliper, :ink temperature )
)
Accès aux donnéesRe : Liaison virtuelle de deux tables via un script JSLJe souhaite utiliser des liens virtuels entre les tables dans un tableau de bord selon l'idée :
- utiliser un filtre de données pour le tableau 1
- Les tracés/tableaux du tableau 2-N sont mis à jour en conséquence.
Avec
Column( "Unique Subject Identifier" ) << Set Property(
"Link Reference",
{Reference Table( "Nic Demographics.jmp" ), Options(
"Use Linked Column Name"(1),
Row States Synchronization with Referenced Table( Accept( 1 ), Row States( Select, Exclude, Hide ) )
)}
)depuis https://community.jmp.com/t5/Discussions/Virtual-linking-two-tables-via-JSL-scripting/mp/305159/highlight/true#M56123
Je peux synchroniser les états de ligne.
Dois-je utiliser un non local filtre de données pour le faire fonctionner ?
Il n'y a pas d'option dans l'Application Builder pour utiliser un filtre de données non local, mais je peux modifier le script et supprimer le local .
Est-ce une bonne idée?
Mieux vaut utiliser un gestionnaire d'état de filtre pour contrôler à distance les filtres de données des autres tables ?
Re : Liaison virtuelle de deux tables via un script JSLCela peut ou non être un problème. Je vais signaler cela au développement, à propos de l'enregistrement de l'action pour voir si nous pouvons l'enregistrer dans le journal. Merci de l'avoir porté à notre attention.
Re : Liaison virtuelle de deux tables via un script JSLPourquoi les options sont-elles comme
Options(
"Use Linked Column Name"(1),
Row States Synchronization with Referenced Table( Accept( 1 ), Row States( Select, Exclude, Hide ) )
)
pas saisi par le journal avancé ?
Re : Liaison virtuelle de deux tables via un script JSLCool! n'avait pas vu cela auparavant.
Re : Liaison virtuelle de deux tables via un script JSLJe comprends que le sous-ensemble n'est qu'un exemple. Si les tables sont virtuellement jointes, les états des lignes peuvent être synchronisés entre elles. Dans la table "parent" il y a la colonne avec la référence linke (les touches bleues). Lorsque vous ouvrez les propriétés de cette colonne et recherchez la propriété "référence de lien", vous y trouverez des options.

Ici, vous pouvez déterminer quelle table pilotera les états de ligne. Tous les paramètres peuvent être définis par JSL comme
Column( "Unique Subject Identifier" ) << Set Property(
"Link Reference",
{Reference Table( "Nic Demographics.jmp" ), Options(
"Use Linked Column Name"(1),
Row States Synchronization with Referenced Table( Accept( 1 ), Row States( Select, Exclude, Hide ) )
)}
)
La seule chose qui n'est pas possible est de transférer les sélections, qu'elles soient faites dans la table parent ou enfant.
Re : Liaison virtuelle de deux tables via un script JSLIl est également possible que je ne réponde pas à la question que vous avez vraiment posée. Peut-être qu'un expert du menu Tables y jettera un autre coup d'œil.
Re : Liaison virtuelle de deux tables via un script JSLNon, les tables ne sont pas liées comme un "sous-ensemble lié".(édition : voir @bernd_heinen réponse) Mais ils sont liés comme une jointure ; si vous exécutez ce premier exemple et modifiez le nom d'une couleur dans la table des couleurs, la modification est immédiatement répercutée dans la table des personnes.@chungwei
Re : Liaison virtuelle de deux tables via un script JSLLa jointure virtuelle crée-t-elle la liaison interactive lors de la sélection de lignes ou de colonnes ?
Dans les exemples que j'ai exécutés, cela ne s'est pas produit.
Re : Liaison virtuelle de deux tables via un script JSLL'index de script contient trois exemples sous Jointure virtuelle .
Virtual Join in the Scripting Intex. Notice the Example 1 button is a pull down menu with other examples.Virtual Join in the Scripting Intex. Notice the Example 1 button is a pull down menu with other examples.Jointure virtuelle dans l'Intex de script. Notez que le bouton Exemple 1 est un menu déroulant avec d'autres exemples.
Il y a un exemple de jointure virtuelle dans Inverser le géocodage Lat-Lon vers Zip . Il enregistre les tables sur le disque avant d'utiliser
zipcodeNS:dtdbf:shape << Set Property( "Link ID", 1 );
zipcodeNS:dtshp:shape << Set Property( "Link Reference", Reference Table( zipcodeNS:dtdbf ) );
pour les lier par la propriété shape.