具有多个值的乘法列

ggazkfy8  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(293)

我尝试将x列(我使用case-when语句创建)与另一个匹配x列的列相乘,该列具有适当的值。
colx看起来像这样:

CASE
 WHEN REGEXP_MATCH(dataName, ".*(Provider-Name-1).*") THEN "Provider Name 1"
 ...
END

下面是我想对coly做的:

When ColX is "Provider Name 1" then clicks * 2
When ColX is "Provider Name 2" then clicks * 3

单击来自数据源。
datastudio告诉我这不能工作,因为then/else语句不能包含函数或数学运算。
我该怎么办?

yqhsw0fo

yqhsw0fo1#

摘要

下面介绍两种实现case语句的方法,具体取决于度量是绿色还是蓝色。

1) “绿色”指标-分类字段

这个 CASE 下面的语句应该起作用:

clicks * (CASE
    WHEN REGEXP_MATCH(ColX, "Provider Name 1") THEN 2
    WHEN REGEXP_MATCH(ColX, "Provider Name 2") THEN 3
    ELSE 1 END)

google data studio报告和gif来详细说明:

2) “蓝色”指标-聚合字段

这将是一个两步的过程:
数据混合
遵循上面的#1(案例陈述)
数据混合(或者,数据提取)将对数据进行分解,从而使聚合的“蓝色”度量变为分解的“绿色”度量,然后可以对混合的数据源应用上面的case语句。
向报表中添加了一个新页面,以提供混合数据源的示例:

相关问题