Joindre différentes tables avec un script généralSalut,
Je sais que nous pouvons facilement joindre des tables sous l'en-tête Table, mais j'essaie de développer un script qui serait capable de joindre des tables sans avoir à spécifier les noms de colonnes.
J'ai trois tables de données. Les deux premières colonnes sont toujours les mêmes, mais les autres peuvent changer de nom. La situation se complique car, pour un lot différent, je peux utiliser les mêmes trois tables de données, mais le nom des deux premières colonnes peut changer. J'essaie donc de joindre ces trois tables en utilisant la position des deux premières colonnes comme colonne de liaison et d'ajouter les autres colonnes pour former une seule table Big Data.
J'ai essayé d'utiliser des variables ou des positions de colonnes, mais sans succès. J'ai également essayé la fonction New SQL Query(), mais je pense qu'elle doit également spécifier des colonnes.
Quelqu'un a-t-il une idée sur la façon dont nous pouvons développer un script général qui peut simplement joindre trois tables différentes en une seule ?
Fusion et nettoyage des donnéesRe: Joindre différentes tables avec un script généralLe plus simple serait d'écrire un script qui renommerait les colonnes pour qu'elles soient identiques, mais il est également possible d'écrire un script pour utiliser des noms de colonnes différents.
Re: Joindre différentes tables avec un script généralExiste-t-il un moyen de rendre le script « général » ? Ainsi, il n'est pas nécessaire de spécifier les noms de colonnes dans le script ?
Peut-être que le script devrait prendre les noms de colonnes à partir des données elles-mêmes ?
Re: Joindre différentes tables avec un script généralJ'ai compris le script :
dt = {Tableau de données ("X"), Tableau de données ("Y"), Tableau de données ("Z")};
// Commencer avec la première table comme base
joinDT = dt[1];
// Joindre séquentiellement chaque table restante au résultat accumulé
Pour(i = 2, i <= N éléments(dt), i++,
tmpDT = joinedDT << Join(
Avec(responseTables[i]),
Supprimez les multiples (1,1),
Inclure les non-correspondances (0,0),
Fusionner les colonnes portant le même nom,
Préserver l'ordre de la table principale (1)
);
// Renommer la table intermédiaire
tmpDT << Set Name("Tableau de données intermédiaire");
// Remplacez joinedDT par la table nouvellement jointe pour la prochaine itération
joinDT = tmpDT;
);
J'aurais aimé qu'il y ait plus d'informations dans l'index de script sur cette partie de la fonction Join :
Supprimez les multiples (1,1),
Inclure les non-correspondances (0,0),
Fusionner les colonnes portant le même nom,
Préserver l'ordre de la table principale (1)
J'ai dû procéder par essais et erreurs pour le comprendre !
Re: Joindre différentes tables avec un script généralLe faire de manière interactive dans JMP est généralement la meilleure façon d'apprendre ce genre de choses. Vous pouvez consulter la page d'aide de l'index des scripts pour plus d'explications : Utilisation de JMP > Remodeler vos données > Joindre des tables de données.
Re: Joindre différentes tables avec un script généralMerci, je ne savais pas qu'il y avait un accès direct à la page d'assistance. C'est utile, mais il n'y a pas d'explication du script. C'est ce que je cherchais, car je voulais créer un script pour créer un module complémentaire qui le fasse automatiquement.
Re: Joindre différentes tables avec un script généralLa référence de syntaxe JSL est parfois meilleure que la page d'aide ouverte par le Guide de script (parfois, elle fait référence à la référence de syntaxe JSL)
Référence de syntaxe JSL > Messages JSL > Messages de la table de données et recherchez <

Vous pouvez trouver la version .pdf de la référence de syntaxe JSL (je préfère que la recherche de l'aide JMP soit autre chose...) à partir de la documentation JMP.
De plus, la page d'aide explique les options, mais il peut être un peu plus difficile de les comprendre complètement à partir de la page d'aide de la plateforme :
Drop Multiples(1,1),

Include Nonmatches(0,0),

Fusionner les colonnes portant le même nom,

Preserve Main Table Order(1)

En général, les essais et erreurs (ou laisser JMP écrire pour vous) sont un bon moyen de commencer à apprendre JSL.
Re: Joindre différentes tables avec un script généralC'est très utile, merci beaucoup de m'avoir indiqué la bonne direction !