Lien entre deux tables<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai une table de données et je souhaite créer une autre table de données, mais avec un lien entre elles.
Je veux cette deuxième mise à jour de table, lorsque j'insère des données (plus de lignes) dans la première table.
ce que je veux faire, c'est avoir des colonnes fixes et lorsque j'inclus de nouvelles lignes dans la première table, ces lignes doivent être incluses dans la deuxième table (table liée).
J'ai utilisé Subset pour ce faire, mais lorsque j'ai enregistré et fermé la table, le lien a été perdu. Savez-vous s'il existe un autre moyen de faire cela?
Tous ces tableaux seront inclus dans un journal. J'ai aussi essayé, après avoir créé la table de sous-ensemble, j'ai utilisé la commande dans le journal "Add Windows Reference", et le JMP m'a montré l'avertissement : "Unable to make script for TABLE'S NAME"
Merci!
Re : Lien entre deux tablesWendy,
Merci pour votre aide, désolé pour le retard aussi.
J'ai essayé de faire ce script, mais lorsque j'enregistre la nouvelle table ("test") et que je la ferme, lorsque je l'ouvre à nouveau et que je mets à jour la table principale, la seconde ne se met plus à jour.
Je suis nouveau dans JMP, mais j'étudie des scripts maintenant, donc je vais essayer cette méthode avec d'autres choses.
Merci encore!
Re : Lien entre deux tablesSalut,
Vous pouvez utiliser Subscribe() pour exécuter un script lorsque des lignes sont ajoutées à la table principale.L'exemple simple suivant ajoutera le même nombre de lignes à la deuxième table plus petite lorsque des lignes sont ajoutées à la table Big Class principale.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = New Table( "test" );
addRowsFn = Function( {a, b, insert},
dtname = (a << Get Name());
Print( dtname );
Print( b );
Print( insert );
dt2 << Add Rows(b);
);
dt << subscribe( "Test Add", onAddRows( addRowsFn, 3 ) );
Vous trouverez plus d'informations sur l'abonnement aux tables de données et à d'autres types d'abonnements dans le Script de table de données avancé section de la documentation en ligne.
J'espère que ça aide!
Wendy
Re : Lien entre deux tablesVous pouvez créer un script pour mettre à jour votre première table et recréer à nouveau la seconde, et l'envoyer au journal. Ce serait comme une mise à jour.
Cependant, cela ne lierait pas la deuxième table à la première, mais en créerait simplement une nouvelle version mise à jour.
J'ai attaché une table ("La table qui est mise à jour") avec un script pour le faire à titre d'exemple. Juste:
- créer un nouveau tableau
- ajoutez du texte dans quelques lignes de la colonne1 pour cette nouvelle table (vos nouvelles lignes. J'ai supposé que les nouvelles lignes proviendraient d'une table séparée)
- appeler la nouvelle table "la mise à jour"
Exécutez ensuite le script "Mettre à jour la table, prendre un sous-ensemble et créer un journal" dans "La table qui est mise à jour".
Il mettra à jour la première table avec les nouvelles lignes, créant une toute nouvelle table, puis prendra un sous-ensemble de la toute nouvelle table. Chaque étape est envoyée au journal.
Il devrait être facile d'adapter l'idée générale du script à vos besoins spécifiques (modifiez simplement le script pour voir ce qu'il fait).