次の例では、複数のPARTITION BY入力があるテーブル演算子機能を使用する1つの方法を示します。
次のテーブルがあるとします。
WebLog | ||
---|---|---|
cookie | cart_amount | page |
AAAA |
$60 |
Thankyou |
AAAA |
$140 |
Thankyou |
BBBB |
$100 |
Thankyou |
CCCC |
Intro |
|
CCCC |
$200 |
Thankyou |
DDDD |
$100 |
Thankyou |
AdLog | ||
---|---|---|
cookie | ad_name | action |
AAAA |
Champs |
Impression |
AAAA |
Puppies |
Click |
BBBB |
Apples |
Click |
CCCC |
Baseball |
Impression |
CCCC |
Apples |
Click |
この例では、attribute_sales演算子はオンライン広告による売上高収入を返します。演算子への入力は、ストアのWebログおよび広告サーバーのログからの販売情報です。両方の入力テーブルは、ユーザーのブラウザのCookie上でパーティション化されています。演算子は2つのカスタム句(ClicksとImpressions)も受け取ります。これらは、それぞれ広告のクリックに帰属する販売の割合(%)および購入につながったビューを提供します。
構文は次のとおりです。
SELECT adname, cart_amt FROM attribute_sales ( ON (SELECT cookie, cart_amt FROM weblog WHERE page = 'thankyou' ) as W PARTITION BY cookie ON adlog as S PARTITION BY cookie USING clicks(.8) impressions(.2)) AS D1(adname,attr_revenue) ;
出力は次のようになります。
ad_name -------- |
attr_revenue ------------ |
||
Champs |
$40 |
||
Puppies |
$160 |
||
Apples |
$240 |
||
Baseball |
$40 |