テーブル結合のトラブルシューティング複数のデータ テーブルを結合しようとすると、よく問題が発生します。何が欠けているのかわかりません。
最も一般的には、日付を一致させてテーブルを結合しようとしています。 これで問題が解決しない場合もあれば、非常に苦労し、参加ダイアログ内で多数の異なるオプションを試す必要がある場合もあります。
通常、マシン データを記録する何千もの行を含むテーブル A があります。 各行には DateTime スタンプがあります。 DateTime 文字列の最初の 10 文字に対して substr() コマンドを使用して Date 列を作成し、日付列を YYYY-MM-DD 形式にします。 各日付は、何千もの個別の行に関連付けられている場合があります。
表 B は日別の製品のリストです。
テーブル A とテーブル B を結合して、テーブル A の個々の行に製品タグのラベルを付けるようにします (例: テーブル A に 100 日分のデータを表す 150,000 行がある場合、テーブル B には 100 行の製品があります)表 C は元のデータの 150,000 行であり、製品ラベルは表 B から取得されます。) 私は過去に何度もこれを成功させてきましたが、時折それを複製する際に問題が発生し、その理由がわかりません.
私がすでに試したいくつかのこと:
- YYYY-MM-DD データを YYYY-MM-DD H:M:S データと一致させようとしていないことを確認します
-DateTime列から日付データを抽出するために使用される式が正確に一致することを確認しました
-日付列の出力データを両方のテーブルの新しい列にコピーし、それを照合して、式から発生する可能性のある問題を回避しました
-文字列を表現するためにさまざまなデータ/モデリング タイプを試しました
これらはすべて、結合が成功していないテーブルを提供してくれました。 ここで何が欠けているのか、またはテーブル結合の一般的な「ベストプラクティスのヒント」について何か考えはありますか? 私は JMP のドキュメントを読み、過去にテーブル結合を使用して成功しましたが、ここで何が起こっているのかをよりよく理解しようとしています。 ありがとう
データ表Re: テーブル結合のトラブルシューティング投稿時にこのスレッドをフォローしていないことをお詫びします。
SubStr コマンドを使用して、日付列の日時文字列から日付を抽出していました。 両方の日付列の数式を次のように切り替えました。
Abbrev Date( Num( :DateTime ), "YYYY-MM-DD" )
そしてそれは私の問題を解決しました。 また、私のニーズには Update 関数の方が適していると判断しました。
Re: テーブル結合のトラブルシューティングタイム スタンプ データは、値に特定の日の異なる時刻が含まれる可能性があるため、問題を引き起こす可能性があります。一致しますが、実際の数値は異なります。
文字列に変換する場合は、変換に使用する形式を確認することが重要です。私が重要だと思うもう 1 つの項目は、前後の空白スペースの可能性です。そのため、文字列に変換するときに行うことは、Trim() 関数を使用して潜在的な空白スペースを削除することです。
Re: テーブル結合のトラブルシューティングやあ、
希望する結果が得られないように見える結合の例はありますか? もしそうなら、以下を添付していただければ、何が起こっているのか、どのようにアドバイスすればよいのかを正確に把握できると思います。
- テーブル A とテーブル B (もちろん、いずれかに機密データが含まれている場合はサニタイズされています)。 これらは部分的である可能性があります...大量のテーブルをアップロードする必要はありません。
- 「ソース」スクリプトがそのままの (悪い) テーブル C
- 成功したテーブル「C」の少なくとも数行...少なくとも、成功した結合はどのように見えるでしょうか。 または、これの代わりに、結合されたテーブル C の何が問題なのかの説明 (つまり、「行 21 が正しくない理由は...」または「これらの要素を含む行があるはずですが、行がありません...」)
結合が横向きになる方法はたくさんあります...これは、特定のケースを理解するのに役立ちます。
乾杯、
ブレイディ
Re: テーブル結合のトラブルシューティング各日付列をExcelにコピーして貼り付け、両方のテーブルのJMPに再コピーして貼り付けることで、機能するようになりました。 ただし、ここで何が起こっているのかを理解したいと思います。