一般的なスクリプトを使用して異なるテーブルを結合するこんにちは、
テーブル ヘッダーの下でテーブルを簡単に結合できることはわかっていますが、列名を指定せずにテーブルを結合できるスクリプトを開発しようとしています。
3つのデータテーブルがあります。最初の2列は常に同じですが、他の列の名前はいつでも変更できます。別のバッチでは、同じ3つのデータテーブルを使用できますが、最初の2列の名前が変更される可能性があるため、状況はさらに複雑になります。そこで、最初の2列の位置をリンク列として3つのテーブルすべてを結合し、残りの列を1つの大きなデータテーブルに追加しようとしています。
変数や列位置を使ってみましたが、うまくいきませんでした。New SQL Query() 関数も試してみましたが、これも列を指定する必要があるようです。
3 つの異なるテーブルを 1 つに簡単に結合できる一般的なスクリプトを開発する方法について、アイデアを持っている人はいますか?
データのブレンドとクリーンアップRe: 一般的なスクリプトで異なるテーブルを結合する最も簡単なのは、列の名前を同じに変更するスクリプトを作成することですが、異なる列名を使用するスクリプトを作成することも可能です。
Re: 一般的なスクリプトで異なるテーブルを結合するスクリプトを「一般」にする方法はありますか?そうすれば、スクリプト内で列名を指定する必要がなくなりますか?
スクリプトでデータ自体から列名を取得するのでしょうか?
Re: 一般的なスクリプトを使用して異なるテーブルを結合する私はスクリプトを理解しました:
dt = {データ テーブル ("X")、データ テーブル ("Y")、データ テーブル ("Z")};
// 最初のテーブルをベースとして開始します
結合DT = dt[1];
// 残りのテーブルを累積結果に順番に結合します
i = 2, i <= N 項目(dt)の場合、i++、
tmpDT = joinDT << Join(
(responseTables[i])の場合、
複数をドロップ(1,1)、
不一致を含める(0,0)
同じ名前の列を結合する、
メインテーブルの順序を保持する(1)
);
// 中間テーブルの名前を変更する
tmpDT << Set Name("中間データテーブル");
// 次の反復処理のために、joinedDT を新しく結合されたテーブルに置き換えます
結合DT = tmpDT;
);
Join 関数のこの部分について、スクリプト インデックスにさらに詳しい情報があればよかったと思います。
複数をドロップ(1,1)、
不一致を含める(0,0)
同じ名前の列を結合する、
メインテーブルの順序を保持する(1)
それを理解するには試行錯誤する必要がありました!
Re: 一般的なスクリプトを使用して異なるテーブルを結合するJMPでこのようなことを学ぶには、一般的にはJMPでインタラクティブに操作するのが良いでしょう。また、スクリプト索引からヘルプページにアクセスすれば、 JMPの使い方 > データの変形 > データテーブルの結合でより詳しい説明が得られます。
Re: 一般的なスクリプトを使用して異なるテーブルを結合するありがとうございます。サポートページに直接アクセスできるとは知りませんでした。便利なのですが、スクリプトの説明がありませんでした。スクリプトを書いて、自動的にサポートページにアクセスするアドインを作りたかったので、まさにそれを探していました。
Re: 一般的なスクリプトを使用して異なるテーブルを結合するJSL 構文リファレンスは、スクリプト ガイドが開くヘルプ ページよりも優れている場合があります (JSL 構文リファレンスを参照している場合もあります)
JSL構文リファレンス > JSLメッセージ > データテーブルメッセージで<

JSL 構文リファレンスの .pdf バージョンは、 JMP ドキュメントから見つかります (JMP ヘルプの検索は別のものの方が好みです...)。
また、ヘルプ ページではオプションについて説明されていますが、プラットフォームのヘルプ ページから完全に理解するのは少し難しい場合があります。
Drop Multiples(1,1),

Include Nonmatches(0,0),

同じ名前の列を結合する、

Preserve Main Table Order(1)

一般的に、試行錯誤(または JMP にスクリプトを作成させること)は、JSL の学習を始めるのに適した方法です。
Re: 一般的なスクリプトを使用して異なるテーブルを結合するそれは非常に役立ちました。正しい方向を指し示していただき、本当にありがとうございます。