2017-07-04 14 views
0

私は、キャンペーンやマーケティングパフォーマンスデータを含む生のアドワーズデータを扱っています。私は、特定の「WHERE」基準に適合する列に基づいて計算を行う必要があります。一例として、 [広告の関連性]列の[行]が[平均未満]の場合、列は[平均広告関連性の低いインプレッション]より下に表示されます。このオカレンスの計算は[インプレッション] * 1でなければなりません。一例として、どこの基準に関係なく、すべての行にわたって発生します。列「QS」*「インプレッション」。最後に、2つの列を連結して、別のデータセットでループする必要があります。計算された列を作成し、ビューを作成しますか?

ビューを作成せずにこれが可能なように見えますか?私は "どこ"クエリを使用して1つを作成しようとしましたが、1つの唯一の条件に基づいて取り出すことができるので、どれだけ制限があるようです。

現在のテーブル

Campaign|Adgroup|Expected clickthrough rate|QS|Impressions| 
--------+-------+--------------------------+--+-----------+ 
USA-EN |watches|Average     |3 |1000  | 
DE-DE |rings |Below Average    |5 |1300  | 
CH-DE |belts |Average     |6 |1234  | 

望ましい結果(これらは、追加/計算列ですが、目標は同様に新しいテーブル内上部に列を含めることです)IFについては

Key     |Impressions with average ctr |Weighted QS  | 
**(Campaign and  |(Impressions *1 where "Expected |(QS * Impressions | 
adgroup concatenated)|clickthroughrate =average)  |     |** 
---------------------+--------------------------------+------------------+ 
USA-ENwatches  |1000       |     | 
DE-DErings   |0        |     | 
CH-DEbelts   |1234       |     | 

答えて

1

- それからロジック、ユースケースステートメント。 文字列を連結するには、 "||"そんなに

Select (Campaign || '-' || Adgroup) AS Key 
     ,CASE [Expected clickthrought rate] 
      When 'Average' then (Impressions * 1) 
      Else 0 
     End AS [Impressions with average ctr] 
    ,(QS * Impressions) AS [Weighted QS] 
From MyTable 
+0

ブリリアント、感謝:ここ

は、あなたの「現在の表」に基づい例と「望ましい結果」です。 –

関連する問題