Copiez plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour les scripts JSLBonjour,
Pour l'analyse des données de volume, j'importais des fichiers de données brutes Excel ou CSV volumineux dans JMP. Par la suite, je copiais / collais manuellement plus de 100 en-têtes de colonne avec des formules de l'un de mes fichiers précédents dans chaque fichier JMP. J'ai trouvé cette méthode très chronophage et je souhaite migrer vers JSL Scripring.
Existe-t-il un moyen simple de sauvegarder ces 100+ en-têtes de colonnes avec leurs formules à partir de l'un de mes fichiers dans un seul fichier (par exemple, excel, txt ou config) et par la suite, pour chaque analyse de données, j'utilise simplement un script JSL pour les créer nouvelles colonnes avec des formulaires automatiquement?
Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLJe pense que cette approche fonctionnerait dans JMP 12.
Exemple JSL de transfert de toutes les colonnes de formule d'une ancienne table / modèle à une nouvelle table sans les colonnes de formule:
Names Default To Here(1);
// Old table with all desired formula columns
dt = Open("$SAMPLE_DATA/Diabetes.jmp");
// New table without the formula columns
dt_new = dt << subset(Columns({1, 4 :: N Col(dt)}));
//Get scripts for all formulas columns in old table
formula_columns = {};
For(i = 1, i <= N Col(dt), i++,
If(!Is Empty(Column(dt, i) << get property(Formula)),
Insert Into(formula_columns, Column(dt, i))
)
);
//Add formula columns to new table
Current Data Table(dt_new);
Eval List(formula_columns << get script);Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLsalut @ xenon2090 ,
J'ai écrit un complément qui pourrait vous être utile dans cette situation, Copier le script pour les colonnes sélectionnées . Une fois installé, vous pouvez sélectionner vos colonnes de formule, exécutez le complément à partir du menu Compléments, et vous aurez le script pour recréer ces colonnes exactes sous forme de jsl dans votre presse-papiers. Collez ce script dans une nouvelle fenêtre et exécutez-le chaque fois que vous souhaitez ajouter ces colonnes à la table en cours.
julien
Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLBien que ce ne soit pas un script, vous pouvez utiliser cette approche car elle ne comportera en réalité que deux à quatre étapes, en fonction de la manière dont vous comptez 
Hypothèse: vous avez une table JMP avec ces 100+ colonnes et formules mais aucune donnée (table de référence)
1. Importez vos données comme d'habitude et ouvrez la table de référence
2 Copier les noms de colonne
a) Dans l'aperçu des colonnes à gauche, marquez toutes les colonnes, copiez (ctrl + c)
b) Dans le nouveau tableau, marquez toutes les colonnes de la vue d'ensemble des colonnes, collez (ctrl + v).
3 Copier les formules
a) Marquez toutes les colonnes de la table de référence, cliquez avec le bouton droit de la souris sur la zone sélectionnée et sélectionnez "Copier les propriétés de plusieurs colonnes".
b) marquez toutes les colonnes du nouveau tableau, cliquez avec le bouton droit de la souris sur la zone sélectionnée du tableau et sélectionnez "Propriétés de collez plusieurs colonnes"
Cela devrait faire ce dont vous avez besoin.
Remarque: dans JMP 12, il n’existait aucun script permettant de copier les propriétés de plusieurs colonnes. Dans les versions ultérieures (au moins JMP 14, il existe):
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Select Columns( :MODULUS, :ELONG );
dt << Copy Multi Columns Properties;
Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLSeul le script Formula Depot nécessite JMP 14. Le second script fonctionnera pour JMP 12. Ouvrez simplement la table de données "Big Class", puis exécutez le script et vous verrez qu'il applique les colonnes.
Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLJ'ai JMP 12. Y a-t-il une solution?
Re: copier plus de 100 en-têtes de colonne avec des formules à partir d'un fichier JMP pour la génération de scripts JSLJMP 14 possède un dépôt de formules qui vous permettra de stocker vos formules, puis de les appliquer à la table de données à laquelle vous souhaitez les appliquer.
En outre, vous pouvez facilement capturer les scripts de toutes vos colonnes de formule et les enregistrer dans un script. Vous pouvez ensuite exécuter le script pour les futures tables de données et générer les nouvelles colonnes.
Voici un script simple qui générera un nouveau dépôt de formules .... en supposant que vous ayez JMP 14
Formula Depot(
Predictor(
Table( "Untitled 179" ),
Creator( "Column Ratio" ),
Command( "Column<<GET script=""></GET>
Et voici une autre méthode, utilisant un script simple qui, une fois lancé, générera 2 nouvelles colonnes et appliquera leurs formules
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height / :weight ),
Set Selected
);
dt << New Column( "Reverse Ratio",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :weight / :height ),
Set Selected
);
Si vous ouvrez l'exemple de table de données JMP "Big Class", vous pouvez essayer d'appliquer les nouvelles colonnes à partir du Formula Depot et / ou du script simple.