JSL : Comment copier une formule d'une table de données à une autre ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Je dois copier une formule d'une table de données à une autre.
La seule suggestion que j'ai trouvée et que j'ai réussi à mettre au travail est la suivante :
Copier des colonnes avec des formules
The easiest way is to get the script for the original data table.
data table("Original") << get script;
Now the script appears in the log. Just copy and paste into a new script, keeping only the bits related to adding the the formula columns.
ce qui semble cependant très compliqué et prend beaucoup de temps lorsque je dois l'appliquer plusieurs fois.
Cette autre méthode a été suggérée ici : Enregistrer la formule de prédiction dans une colonne existante ?
f = column("prednew") << Get Formula;
column("predold") << Set Formula( Name Expr( f ));
alors j'ai essayé :
f = data table("table 1") << column("my formula") << Get Formula;
data table("table 2") << column("my formula") << Set Formula( Name Expr( f ));
où 'ma formule' existe déjà, mais est vide, dans le tableau 2
mais cela ne fonctionne pas et le journal ne donne aucune erreur.
Des idées? Est-ce documenté quelque part dans la documentation officielle de JMP ?
Re : JSL : Comment copier une formule d'une table de données à une autre ?Je viens quelques années plus tard à la fête 
Vous pouvez également envisager Formula Depot, une fonctionnalité ajoutée à JMP Pro 13, conçue pour faciliter ce type de scénario.
Il vous permet de sauvegarder (nous l'appelons "publier" dans ce cas) un modèle (n'importe quelle formule, en fait) dans un emplacement central d'où il peut être ajouté à d'autres tables - ainsi que converti dans différentes langues pour le déploiement, par rapport à d'autres modèles, profilés, etc.
Vérifiez-le:
http://www.jmp.com/support/help/13/Formula_Depot.shtml
Re : JSL : Comment copier une formule d'une table de données à une autre ?Je n'ai pas réussi à faire fonctionner la méthode de votre autre article, mais cela fonctionne parfaitement - merci.
Re : JSL : Comment copier une formule d'une table de données à une autre ?Une autre option consiste à utiliser Get Column Properties() suivi de Add Column Properties() pour copier toutes les propriétés, incl. formule. Pas besoin de Name Expr() lors de l'utilisation de cette approche.
vieux col = Colonne ( Tableau de données ( "Tableau 1" ) , "ma formule" ) ;
nouveaucol = Colonne ( Tableau de données ( "Tableau 2" ) , "ma formule" ) ;
nouveau col << Ajouter des propriétés de colonne ( vieux col << Obtenir les propriétés de la colonne () ) ;
Re : JSL : Comment copier une formule d'une table de données à une autre ?Get Formula() et Set Formula() sont documentés, alors que votre syntaxe ne l'est probablement pas. Column() ne peut pas être utilisé comme message dans une table de données. Utilisez plutôt le premier argument de Column() pour spécifier la table de données.
F = Colonne ( Tableau de données ( "Tableau 1" ) , "ma formule" ) << Obtenir la formule ;
Colonne ( Tableau de données ( "Tableau 2" ) , "ma formule" ) << Définir la formule ( Nom Expr ( F ) ) ;