Comment savoir si la table de données est privéeBonjour tout le monde,
je voudrais utiliser le
subscribe to data table list()
fonction pour gérer toutes les tables que l'utilisateur ouvre lors de l'exécution d'un de mes scripts. Étant donné que le script crée également ses propres tables de données privées, j'ai besoin d'un moyen de détecter si une table de données est privée afin de la traiter différemment des tables de données ouvertes par l'utilisateur.J'ai cherché une fonction "est privé" mais je ne l'ai pas trouvée.
Le
<<HAS data="https://community.jmp.com/" view=""></HAS>
le message ne fonctionne pas comme je le voudrais. Je pense que cela pourrait être lié au fait que la vue de données est créée après le déclenchement de la fonction "onopen" de l'abonnement à la table de données.
Merci pour votre aide!
Matteo
ScriptRe : Comment savoir si la table de données est privéeSalut @Craige_Hales ,
vous avez raison, il ne faut pas fermer la table à l'intérieur de la fonction de rappel "open". Ce n'est pas ce que j'ai vraiment besoin de faire, je l'ai mis dans mon exemple juste comme un moyen d'explorer ce qui se passait, mais ce n'est pas le problème clé.
Vous avez également raison de dire que lors de l'utilisation de "Open(..., private)", la fonction de rappel "open" n'est pas activée.C'est exactement le comportement dont j'aurais besoin.
Mais, dans mon exemple, j'utilisais "New Table(..., private)" . Dans ce cas, la fonction de rappel "open" est activée.C'est là que j'ai besoin d'un moyen de savoir que la table est privée et de la gérer différemment.
Merci encore!
Matteo
Re : Comment savoir si la table de données est privéeJe suis à peu près sûr que la fermeture de la table pendant les feuilles ouvertes JMP 15 dans un état légèrement cassé @Audrey_Shul . Ne faites pas cela; les noms de table, au minimum, semblent confus par la suite. Je suis presque sûr que le comportement sera différent dans JMP 16.
Je suis aussi perplexe; aucun rappel n'est effectué ici :
does not print "opening" or "closing"n'imprime pas "ouverture" ou "fermeture"
Mon opinion est que les rappels devraient jamais être faites pour les tables de données privées. Cela fait partie de ce que signifie privé... ils devraient être difficiles à observer et à manipuler.@chungwei
Re : Comment savoir si la table de données est privéeSalut @David_Burnham ,
en fait, je voudrais détecter toutes les tables de données créées lors de l'exécution de mon script, mais traiter différemment les tables privées (essentiellement ne rien faire dessus), des tables visibles créées par l'utilisateur.Cela ne peut pas être géré par une liste, je pense.Voir aussi ma réponse à @Craige_Hales .
merci!
Matteo
Re : Comment savoir si la table de données est privéeMerci @Craige_Hales ,
Voici un exemple de ce que je vois.Il semble vraiment que la fonction fopen soit déclenchée lors de la toute première création de l'objet table de données.
names default to here(1);
fopen = Function( {dt},
print(dt<<HAS data="https://community.jmp.com/" view=""></HAS>Re : Comment savoir si la table de données est privéeSi c'est votre script qui génère les tables privées, le moyen le plus simple de savoir si une table est privée est peut-être de conserver une liste des tables que vous créez ; alors vous pouvez simplement croiser cette liste.
Re : Comment savoir si la table de données est privéeJ'ai essayé l'exemple d'index de script dans JMP 15 et changé Big Class en privé. Il n'est pas vu d'ouverture ou de fermeture, ce à quoi je m'attendrais. Pouvez-vous partager un exemple ?