Concaténer la fonction en écrasant les lignes ?J'écris une partie d'un script pour mettre à jour une table en y ajoutant de nouvelles lignes à l'aide de la fonction "Concaténer". Cependant, chaque fois que j'essaie de concaténer avec un ensemble particulier de 7 lignes, le script écrase en quelque sorte les sept premières lignes de la table d'origine avec les sept nouvelles, puis ajoute également les sept nouvelles lignes en bas. Il n'y a pas de valeurs identiques entre les lignes nouvelles et remplacées dans aucune des colonnes du tableau.
Est-ce que quelqu'un sait ce qui pourrait se passer ici? Y a-t-il une partie de la fonction Concatenate que je pourrais négliger?
Merci beaucoup,
Brian D.
Re : Concaténer la fonction en écrasant les lignes ?Les résultats que vous avez décrits de votre code correspondent exactement à ce que j'attendrais de JMP.Comme spécifié
dt6 << Update( With( dt5)));
prendra la ligne 1 de la table de données dt5 et l'écrira au-dessus de la ligne 1 de la table de données dt6. Et continuera à écrire la ligne 2 de dt5 au-dessus de la ligne 2 dans dt6, etc. jusqu'à la dernière ligne de la table de données qui a le plus petit nombre de lignes.
Puis la déclaration
dt6 << Concatenate( dt5, append to first table);
ajoutera de nouvelles lignes au bas de la table de données dt6, une nouvelle ligne pour chaque ligne dans dt5, en ajoutant de nouvelles colonnes à la table de données dt6 qui sont dans dt5 qui n'étaient pas dans dt6.
Ce que je crois que vous voulez faire, c'est utiliser un
Tableaux==>Rejoindre
Ce qui peut ajouter à la fois de nouvelles lignes et de nouvelles colonnes à votre tableau de données.Il le fait en créant une nouvelle table, mais c'est une tâche très facile, une fois la nouvelle table créée, de supprimer l'ancien dt6 et de renommer la nouvelle table avec le nom de dt6.
Re : Concaténer la fonction en écrasant les lignes ?Merci pour la réponse. Je ne crois pas ainsi... J'ai une table que je mets à jour ("FPKM par gène en cours d'exécution") et une nouvelle ("Nouveaux gènes FPKM par ferm & souche") que mon script génère. La partie mise à jour et concaténation de mon script est la suivante :
dt5 = Data Table( "New genes FPKM by ferm & strain" );
dt6 = Data Table( "FPKM by gene running" );
dt6 << Update( With( dt5)));
dt6 << Concatenate( dt5, append to first table);
J'utilise la fonction Concatenate ainsi que Update car apparemment Update ajoutera de nouvelles colonnes, mais pas de nouvelles lignes ? Idéalement, j'aimerais ajouter des colonnes ET des lignes au tableau "FPKM par gène en cours d'exécution", et uniquement celles qui n'étaient pas présentes auparavant. Toutes mes excuses car je suis nouveau sur JSL.
Re : Concaténer la fonction en écrasant les lignes ?Si vous nous donnez votre code, nous pouvons vous aider beaucoup mieux.Re : Concaténer la fonction en écrasant les lignes ?Est-il possible que votre code fasse quelque chose comme ceci :
dt1 = Data Table( "old rows" );
dt2 = Data Table( "new rows" );
dt3 = dt2 << Concatentate( dt2, ... );
Autrement dit, le code concatène-t-il par inadvertance la même table de données à lui-même ?