Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)J'ai souvent besoin de copier une série de colonnes de formules d'une table à une autre.Bien que "Copier les propriétés de plusieurs colonnes" facilite ce travail, il n'inclut pas le nom de la colonne.Comme mes noms de colonnes peuvent être assez longs, cela prend du temps, même en utilisant un copier-coller, car il peut y avoir plusieurs de ces colonnes.Existe-t-il une méthode simple pour copier les propriétés (formule, nom et tout) d'une table à une autre ?Je me rends compte que je peux écrire un script pour le faire, mais j'ai pensé que je n'étais peut-être pas au courant d'une option.
Modélisation statistique avancéeAutomatisation et scriptÉtudes de consommation et de marchéConception d'expériencesPersonnalisation de masseRe : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)J'aurais aussi dû ajouter cette petite friandise. Étant donné que certaines de mes formules faisaient référence à certains des autres nouveaux noms de colonne, ces formules ont échoué lorsque j'ai utilisé l'ordre que vous avez suggéré. Toutes les formules de colonne ont fonctionné lorsque j'ai d'abord copié les noms, puis les formules.Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)jerry_cooper,
Cela a très bien fonctionné.Je ne connaissais pas la copie de noms à partir du panneau de colonnes.
Vous avez raison de dire que je n'ai pas encore JMP15 mais j'espère l'obtenir après la fusion de mes entreprises.
Tapoter
Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)Désolé @pcarroll1 ,
Je viens de comprendre que vous n'utilisez probablement pas la version 15 - je pense qu'il s'agit d'une nouvelle fonctionnalité.
Vous pouvez faire ce que vous voulez dans les versions précédentes, bien que, comme vous l'avez mentionné, les noms de colonne ne soient pas transmis. Cependant, il existe une méthode pour copier plusieurs noms de colonne d'une table à une autre.
Après avoir collé les colonnes de formules dans le nouveau tableau (avec "Coller les propriétés de plusieurs colonnes"), revenez à votre tableau source (assurez-vous que vos colonnes de formules sont toujours sélectionnées), puis cliquez sur la barre d'en-tête dans les "Colonnes panneau " :

Tapez Ctrl-C pour copier les noms de colonne.Revenez ensuite à la table de destination et assurez-vous que vos nouvelles colonnes de formules sont toujours sélectionnées, cliquez sur l'en-tête Colonnes, puis tapez Ctrl-V pour coller les noms de colonne. Évidemment, vous devrez vous assurer que vous n'avez pas modifié l'ordre des colonnes dans l'une ou l'autre des tables avant de le faire, sinon vos colonnes ne seront pas nommées correctement.C'est quelques étapes supplémentaires, mais pas aussi intimidantes que de retaper un tas de noms longs.
Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)Salut @pcarroll1 ,
Si vous sélectionnez les colonnes de formules que vous souhaitez copier à partir de la table source, cliquez avec le bouton droit sur l'en-tête de l'une d'entre elles et sélectionnez "Copier les colonnes" ; puis cliquez avec le bouton droit sur l'en-tête de la première colonne vide à droite des données de votre table de destination et sélectionnez "Coller les colonnes" - je pense que vous obtiendrez ce que vous recherchez.BTW, un clic droit sur une colonne existante dans la table de destination insérera les nouvelles colonnes de formule immédiatement après cette colonne.
Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)OK, je me suis précipité celui-là!
Cette opération ne transporte pas les propriétés de colonne vers la destination. Uniquement les valeurs de données et les attributs de colonne.
Un simple glisser (sans touche de modification) déplacera les colonnes d'une table à l'autre au lieu de les copier.
Vous pouvez également cliquer avec le bouton droit sur les colonnes de données sélectionnées dans la table de données source et sélectionner Copier les propriétés de la colonne ou Copier les colonnes, mais de cette manière, les valeurs ne sont pas copiées !
Je suppose donc qu'il n'y a pas de moyen simple d'obtenir ce que vous voulez en une seule étape. Si vous avez de nombreuses colonnes à réutiliser, le script peut être le meilleur moyen. J'essayais d'illustrer qu'il y a beaucoup de possibilités grâce à l'interface utilisateur.
Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)Il y a quelque chose dont vous n'êtes pas conscient !
- Ouvrez les tables de données source et de destination.
- Sélectionnez les colonnes d'origine dans la première table de données.
- Maintenez enfoncée la touche Contrôle sous Windows ou la touche Commande sous Macintosh.
- Faites glisser les colonnes d'origine de la table de données source vers la table de données de destination.
Re : Copier des colonnes de formules d'une table à une autre (nom de colonne inclus)J'ai le script ci-dessous enregistré dans le menu Cols en utilisant un complément et je l'utilise tout le temps, à la fois lors de l'écriture de scripts pour recréer visuellement ce que j'ai fait et pour copier des colonnes d'une table à une autre.Sélectionnez des colonnes dans votre table source, exécutez ce script, sélectionnez votre table de données cible, ouvrez une nouvelle fenêtre de script, collez ce qui a été enregistré dans le presse-papiers et cliquez sur Exécuter.
Names default to here(1);
ColumnList = Current Data Table() << Get Selected Columns();
ScriptOut = "";
for( i = 1, i <= n items(ColumnList), i++,
ThisScript = Char(Column( Current Data Table(), ColumnList[i] ) << Get Script) || ";";
ThisScript = substitute( ThisScript, ", Set Selected", "" );
ScriptOut = ScriptOut || If( i > 1, "\!N", "" ) || ThisScript;
);
Set clipboard( ScriptOut );
Exemple de code enregistré dans le presse-papier :
New Column("Sepal length Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Sepal length"), 1)));
New Column("Sepal width Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Sepal width"), 1)));
New Column("Petal length Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Petal length"), 1)));
New Column("Petal width Lagged", Numeric, "Continuous", Format("Best", 10), Formula(Lag(As Column("Petal width"), 1)));