Conserver les colonnes en doubleSalut,
J'ai 2 tables de données et ces tables sont similaires dans une certaine mesure où les paramètres de test (ce qui signifie peut-être 30% des colonnes partageant le même nom) sont les mêmes car ils sont différents selon l'emplacement du test, donc le résultat du test sera également différent. J'ai l'intention de combiner cette table à l'aide de Update et en même temps de conserver les données des colonnes de la 2e table, mais de renommer automatiquement ces colonnes afin que je puisse les afficher côte à côte. Cela peut-il être fait via des scripts.
Merci.
Re : Conserver les colonnes en doubleMerci ih & Jim. C'est vrai dans des circonstances normales, avec moins de variables, la table peut être jointe sans aucun problème.
Re : Conserver les colonnes en doublePour développer le point de Jim, vous devrez joindre par ligne car vous ne semblez pas avoir de paire de clés comme dans une jointure typique.J'ai du mal à comprendre pourquoi vous rejoindrez ainsi les tables; le SN AX0001 est-il lié à STX0030 mais pas à STX0031 ?Si c'est le cas, il y a peut-être une autre colonne que vous pourriez ajouter aux deux tables pour les joindre de manière plus significative.
Re : Conserver les colonnes en doubleCe que vous demandez est l'action par défaut effectuée dans JMP lorsque vous joignez 2 tables de données.S'ils ont des colonnes du même nom dans les deux tables de données, JMP renomme les colonnes.Voici une version de script, cependant, si vous avez 2 tables, vous pouvez le faire de manière interactive en
Tableaux==>Rejoindre
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA\big class.jmp" );
dt2 = Open( "$SAMPLE_DATA\big class Families.jmp" );
Data Table( "big class Families" ) << Join( With( Data Table( "big class" ) ),
By Row Number );
Re : Conserver les colonnes en doubleMerci. Bien que ce ne soit pas exactement ce que je veux, mais l'idée est là. Le fichier joint est quelque chose que je veux faire. Rejoindre 2 tables de données et renommer automatiquement les colonnes de la 2e table de données qui correspondaient à la 1ère table de données. Désolé, s'il y a confusion dans mon message initial.
Re : Conserver les colonnes en doubleJe ne sais pas exactement ce que vous voulez faire, mais oui, vous pouvez renommer les colonnes à l'aide d'un script.Si vous ouvrez chaque table de données et conservez des références distinctes pour chacune d'entre elles, vous pouvez envoyer des messages à toutes pour renommer les colonnes :
Names default to here( 1 );
//Open two tables
dt1 = Open("$SAMPLE_DATA/Iris.jmp"); //first table
dt1 << Set Name( "Table 1" );
dt2 = Open("$SAMPLE_DATA/Iris.jmp"); //second table (different filename)
dt2 << Set Name( "Table 2" );
//Concatenate tables
dtJoined = dt1 << Concatenate( dt2 );
dtJoined << Set Name( "Combined" );
//Change column names
Column( dt1, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dt2, "Sepal length" ) << Set Name( "Sepal_length" );
Column( dtJoined, "Sepal length" ) << Set Name( "Sepal_length" );Si vous modifiez de nombreux noms de colonnes, vous pouvez utiliser une fonction pour remplacer les trois dernières lignes :
//Make a function to change column names in all tables
ChangeAllNames = function({original, new},
Column( dt1, original ) << Set Name( new );
Column( dt2, original ) << Set Name( new );
Column( dtJoined, original ) << Set Name( new );
);
//Then call the function
ChangeAllNames( "Sepal width", "Sepal_width" );
ChangeAllNames( "Petal length", "Petal_Length" );