Scripts de table et table de données parentJ'ai un ensemble de scripts que je copie dans de nouvelles tables de données. Pour m'assurer que lorsque j'exécute le script de table, il agit sur la table de données à laquelle il appartient, je dois modifier tous les scripts pour qu'ils pointent vers la bonne table de données (dt = Data Table("celui-ci")). Existe-t-il un moyen générique de référencer la table de données parent, similaire à dt = Current Data Table(), mais plutôt à dt = Parent Data Table() ?

Re : Scripts de table et table de données parentEn réponse à ma propre question non, les commentaires ne sont pas inclus lors de l'utilisation d'un script pour ajouter un script à une table de données, les commentaires sont supprimés comme ils le sont lorsque vous copiez des scripts d'une table à une autre (pourquoi quiconque penserait que c'était un comportement par défaut souhaitable me dépasse, si je prends le temps d'ajouter des commentaires à un script, pourquoi voudrais-je les jeter à chaque fois que je vais utiliser ce script ailleurs).Re : Scripts de table et table de données parentJ'y ai pensé, et je peux essayer, mais j'ai décidé de suivre la suggestion de David et d'exécuter les scripts à partir de la table de données afin que la table actuelle soit celle que je veux. Si je lance le script depuis l'éditeur, je devrai juste être plus prudent. Question, lors de l'écriture d'un script pour créer des scripts de table, des commentaires peuvent-ils être inclus dans les scripts de table ?Re : Scripts de table et table de données parentIl y a une autre façon, plus complexe, d'aborder cela.Plutôt que de faire un copier/coller pour vos scripts de table, vous pouvez écrire un script qui ajoute les différents scripts de table à la nouvelle table, et dans ce script, il pourrait générer le code pour chacun des scripts qui pointeraient vers la table de données les scripts sont dedans.
Re : Scripts de table et table de données parentJe ne suis pas sûr que l'espace de noms global soit l'endroit pour cela dans mon flux de travail. J'ai toujours plusieurs tables ouvertes à tout moment, donc je veux m'assurer que les scripts fonctionnent toujours sur les bonnes données (mais merci pour l'avertissement sur le script d'un événement OnOpen, je ne savais pas que JMP l'avait fait). Je pourrais simplement utiliser Current Data Table et toujours courir à partir du triangle vert comme David l'a suggéré, mais je préfère être explicite dans toutes les références lorsque cela est possible. J'espérais qu'il y avait un moyen de le faire, mais je suppose que la connexion n'est que dans un sens. Les tables de données savent de quels scripts de table elles disposent, mais les scripts de table ne savent pas à quelle table elles appartiennent.Re : Scripts de table et table de données parentMerci David, merci pour votre aide.Re : Scripts de table et table de données parentFaites-en simplement un script de table qui définit une valeur de variable globale
Re : Scripts de table et table de données parentLes variables de table ne sont pas regroupéesRe : Scripts de table et table de données parentnon masqués, mais vous pouvez les regrouper, ce qui prend tous les scripts groupés et les place dans une seule étiquette extensible
Re : Scripts de table et table de données parentMerci Jim. Je pourrais probablement aussi le gérer avec une variable de table. Ceux-ci peuvent-ils être cachés ? J'en ai déjà pas mal et j'aimerais les limiter.
Re : Scripts de table et table de données parentOK, j'ai supposé que vous l'exécutiez simplement comme un script de table en utilisant le triangle vert.
Re : Scripts de table et table de données parentVous devriez pouvoir créer un script de table "OnOpen" qui, lorsque vous ouvrez la table, crée une variable globle contenant la table de données actuelle sur laquelle vous travaillez.Ensuite, dans les scripts suivants, vous faites référence à cette variable globale.Le simple fait de passer d'une table à une autre ne changerait pas cette variable globale.Cela ne changerait que lorsqu'un autre de vos taqbles qui a un script de table "OnOpen" qui change la variable globale est ouvert.
Re : Scripts de table et table de données parentSi le script est ouvert pour modification, l'exécution du script depuis l'éditeur saisira la table de données actuelle en utilisant dt = Current Data Table(). La seule façon de garantir que le script pointe vers la bonne table est d'être explicite sur la table sur laquelle le script doit agir (ce que JMP enseigne dans la classe Intro to Scripting comme une bonne pratique), donc je cherche un moyen de le faire de manière générique afin que je n'aie pas à mettre à jour constamment les scripts à chaque fois que le nom de la table de données change.
Dans la photo ci-jointe, le script de table appartient à la table de données ("celui-ci") et la table de données ("celui-là") est la table de données actuelle (). Si " lorsque vous exécutez le script de table, la table à laquelle il est associé est la table de données actuelle" alors le résultat du scipt doit être "celui-ci" et non "celui-là"

Re : Scripts de table et la table de données parentAu moment où vous exécutez le script de table, la table à laquelle il est associé est la table de données actuelle, vous devriez donc pouvoir utiliser dt = CurrentDataTable().