私は結合と結合の間のハイブリッドのようなルックアップを探しています。私は主なデータセットに多数のレコードを持っているので、多対多のマトリックスの "ブルートフォース"メソッドではない何かをしようとしています。SASハッシュテーブル(右結合/結合)
ここには、リストされた各製品の価格が既に含まれている「すべて」という主なデータセットがあります。
product date price
apple 1/1/2011 1.05
apple 1/3/2011 1.02
apple 1/4/2011 1.07
pepper 1/2/2011 0.73
pepper 1/3/2011 0.75
pepper 1/6/2011 0.79
私の他のデータセットは、(「価格は」 - ここに示したが、同じ2つのキーは、製品と日付が含まれていない)可能性のある各日付に、すべての製品の価格が含まれています。私が作成したいと考え、ルックアップハッシュテーブルは、基本的に「すべての」テーブル内のすべての日付を見て、このような表が得られ、その日のためにALL製品、用の出力の価格になります。
product date price
apple 1/1/2011 1.05
pepper 1/1/2011 0.71 *
apple 1/2/2011 1.04 *
pepper 1/2/2011 0.73
apple 1/3/2011 1.02
pepper 1/3/2011 0.75
apple 1/4/2011 1.07
pepper 1/4/2011 0.76 *
apple 1/6/2011 1.10 *
pepper 1/6/2011 0.79
つまり、1つの製品に日付と価格が「すべて」のテーブルが指定されている限り、他のすべての製品は、ルックアップテーブルからその商品を引き取る必要があります。 アスタリスクは、priceテーブルから価格が検索され、製品の価格を含む新しい行が基本的に新しいテーブルに挿入されたことを示します。
ハッシュテーブルではこれを行うには適していない場合は、別の方法を教えてください。
希望するWANTデータセットは、PRICESデータセットのサブセットですか? (DATEがALLの日付の1つであるPRICESのレコード?)。 ALLとPRICESのレコード数はいくつですか? – Quentin
この例では、yesを指定します。現実にはすべて、実際にキーごとに数千のトランザクションがあります。価格には異なる商品、日付、価格が表示されます。だから私はここでハッシュがしっかりしていると思った。 – AidKulesh
しかし、はい、そのアイデアは、すべての製品について、その日付のうち少なくとも1つの製品がリストされている限り、価格はすべての製品に必要です。 – AidKulesh