2つのテーブル間のリンクデータ テーブルが 1 つあり、それらの間にリンクを持つ別のデータ テーブルを作成したいと考えています。
最初のテーブルにデータ(さらに行)を挿入するときに、2 番目のテーブルを更新したいです。
私がやりたいのは、固定列を持ち、最初のテーブルに新しい行を追加するときに、この行を 2 番目のテーブル (リンク テーブル) に追加することです。
私はこれを実行するために Subset を使用しましたが、テーブルを保存して閉じるとリンクが失われました。これを行う他の方法があるかどうかご存知ですか?
これらのテーブルはすべてジャーナルに含まれます。また、サブセット テーブルを作成した後、ジャーナルのコマンド「Windows 参照の追加」を使用してみましたが、JMP に「テーブル名のスクリプトを作成できません」という警告が表示されました。
ありがとう!
Re: 2 つのテーブル間のリンクウェンディ、
ご協力ありがとうございます。遅くなって申し訳ありません。
このスクリプトを実行しようとしましたが、新しいテーブル (「テスト」) を保存して閉じ、再度開いてメイン テーブルを更新しても、2 番目のテーブルは更新されません。
私は JMP の初心者ですが、現在スクリプトを勉強中なので、この方法を他のことで試してみたいと思います。
ありがとうございました!
Re: 2 つのテーブル間のリンクこんにちは、
Subscribe() を使用すると、メイン テーブルに行が追加されたときにスクリプトを実行できます。次の簡単な例では、メインの Big Class テーブルに行が追加されたときに、2 番目の小さいテーブルに同じ数の行が追加されます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = 新しいテーブル( "test" );
addRowsFn = Function( {a, b, 挿入},
dtname = (a << 名前を取得());
印刷(dtname);
印刷(b);
印刷(挿入);
dt2 << 行を追加(b);
);
dt << subscribe( "テストの追加", onAddRows( addRowsFn, 3 ) );
データ テーブルやその他の種類のサブスクリプションへのサブスクライブの詳細については、オンライン ドキュメントの「高度なデータ テーブル スクリプト」セクションを参照してください。
お役に立てれば幸いです!
ウェンディ
Re: 2 つのテーブル間のリンク最初のテーブルを更新し、2 番目のテーブルを再作成してジャーナルに送信するスクリプトを作成できます。これは更新のようなものです。
ただし、2 番目のテーブルは最初のテーブルにリンクされず、新しい更新バージョンが作成されるだけです。
例として、これを実行するためのスクリプトを含むテーブル (「更新されるテーブル」) を添付しました。次のとおりです。
- 新しいテーブルを作成する
- 新しいテーブルの列 1 のいくつかの行にテキストを追加します (新しい行。新しい行は別のテーブルから取得されると想定しました)
- 新しいテーブルを「更新」と呼ぶ
次に、「更新されるテーブル」でスクリプト「テーブルを更新し、サブセットを取得してジャーナルを作成する」を実行します。
最初のテーブルを新しい行で更新して、まったく新しいテーブルを作成し、次にまったく新しいテーブルのサブセットを取得します。各ステップはジャーナルに送信されます。
スクリプトの全体的な考え方を特定のニーズに合わせて調整するのは簡単なはずです (スクリプトを編集して、その動作を確認するだけです)。