データが別のテーブルに存在するかどうかを確認しますこんにちは、私は2つのテーブルAとBを持っており、それぞれに「email」と「id」の列があります。 テーブルAに新しい列を追加したいのですが、その行のテーブルBに「同じメールアドレスまたは同じID」が表示されている場合は「はい」、いいえの場合は空です。 誰かがこのスクリプトの書き方を手伝ってくれませんか?
ありがとうございました。
分析スクリプティング再:データが別のテーブルに存在するかどうかを確認しますできます! ブレイディ、どうもありがとう!再:データが別のテーブルに存在するかどうかを確認しますはい、できます。 これを行う最も簡単な方法は、country == USの行で発生した値のみをリストに入力することにより、最初にリストに入れるものを制限することだと思います。最初のコメントの下の新しい行と、次の2行で使用される[r]インデックスを参照してください。
Names Default To Here( 1 );
dtA = Data Table( "tableA" );
dtb = Data Table( "tableB" );
//make lists of IDs and emails in table B
r = dtB << get rows where( :country == "US" ); //restrict rows to those where country is US
bIDs = (dtB:ID << get values)[r];
bEmails = (dtB:email << get values)[r];
//use formula to check if anything in the given row of A occurs anywhere in B
dtA << New Column( "bMatch",
character,
formula( If( Contains( bIDs, :ID ) | Contains( bEmails, :email ), "YES", "" ) )
);
dtA:bMatch << Delete Formula;
再:データが別のテーブルに存在するかどうかを確認しますすみません、残念です! 間違った列名、修正して動作しました! 本当にありがとう!
次の質問の1つ-表bに、米国またはCAを含む国のような別の列がある場合。テーブルaで同じYES列を実行できますが、テーブルb国= USの場合のみですか?再:データが別のテーブルに存在するかどうかを確認します私の理解では、_は問題を引き起こすべきではありません(少なくともJMP14.3とJMP15.2ではそうではありません)。 dtBデータテーブルにEmail_HASHED列がありますか?
再:データが別のテーブルに存在するかどうかを確認しますありがとうございました! これが私が探しているものです。
このスクリプトに1つのエラーがあります。 col名にアンダースコアが含まれているからだろうか?

再:データが別のテーブルに存在するかどうかを確認しますこんにちは、私があなたの質問を正しく解釈した場合、テーブルBに表示される場所に関係なく、電子メールまたはIDがBに表示されるときはいつでも、テーブルAにYESが必要です。 もしそうなら、これは行います:
Names Default To Here(1);
dtA = datatable("tableA");
dtb = datatable("tableB");
//make lists of IDs and emails in table B
bIDs = dtB:ID << get values;
bEmails = dtB:email << get values;
//use formula to check if anything in the given row of A occurs anywhere in B
dtA << new column("bMatch", character, formula(if(contains(bIDs, :ID) | contains(bEmails, :email), "YES", "")));
dtA:bMatch << Delete Formula;
出力例は次のとおりです。

乾杯、
ブレイディ
再:データが別のテーブルに存在するかどうかを確認しますあなたが何をしようとしているのかわかりません。
これが表Aであるとします。

これは表Bです。

したがって、両方のテーブルの行1のuser1について考えてみます。 2つの異なるIDがあります。 どちらを保持する必要がありますか? それとも、その人が2回リストされているのを見る必要がありますか? 同様に、id = 84で何が起こりますか? 2行にする必要がありますか、それともuser7の電子メールアドレスを含める必要がありますか?