首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建计算列,创建视图?

创建计算列,创建视图?
EN

Stack Overflow用户
提问于 2017-07-05 05:36:05
回答 1查看 42关注 0票数 0

我正在使用原始的adwords数据,其中包含活动和营销绩效数据。我需要根据符合某个"WHERE“标准的列进行计算。例如,如果在“广告相关性”列下,行=“低于平均值”,则应将列返回为“低于平均广告相关性印象”。此事件的计算结果应为“印象* 1”。例如,我还需要在每一行中进行其他计算,而不考虑where标准;列"QS“*”印象“。最后,我将需要将两列连接在一起,这两列将依次与另一个数据集循环。

在不创建视图的情况下,这似乎是可能的吗?我试着在使用"Where“查询时创建一个,但是它似乎受到我可以提取的数量的限制,因为它可以基于一个且只有一个条件。

当前表

代码语言:javascript
复制
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       |

期望的结果(这些是附加/计算的列,但目标是将顶部的列也包括在新表中)

代码语言:javascript
复制
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                            |                  |
EN

回答 1

Stack Overflow用户

发布于 2017-07-05 07:38:18

对于IF - THEN逻辑,使用case语句。要连接字符串,请使用"||“

这是一个基于你的“当前表”和“期望结果”的例子:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44914262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档