【问题标题】:IF statement equivalent in Google Data StudioGoogle Data Studio 中等效的 IF 语句
【发布时间】:2021-06-09 10:37:40
【问题描述】:
我正在尝试复制 Excel 公式
IF(AND('cost'> 0, 'orders' = 0),"TRUE") 在 Google Data Studio 中使用 CASE 语句:
CASE
WHEN COST > 0 AND ORDERS = 0 THEN "TRUE"
END
但是,我收到以下错误:
如果在 CASE 中使用聚合字段,则只允许使用数字文字
有什么办法可以解决这个问题吗?
【问题讨论】:
标签:
if-statement
google-data-studio
【解决方案1】:
总结
使用任一 #1 或 #2。
详细说明使用"True"和TRUE之间的区别,语义类型:
- #1 是 布尔值(
TRUE 或 FALSE);
- #2 是 Text 字段(注意
"TRUE" 或 "FALSE" 周围的引号):
条件函数,IF,在11 Mar 2021 Update 中引入;因此,调整问题中的 IF 函数现在可以在 Google Data Studio 中按预期工作。
注意:下面的 Calculated Field 是一个 Boolean 字段;因此,要创建 Text 字段,请将 TRUE 替换为 "TRUE" 并将 FALSE 替换为 "FALSE":
IF(Cost > 0 AND Orders = 0, TRUE, FALSE)
或者,问题中提出的CASE 语句应该按预期工作。也就是说,下面的CASE 语句明确声明了ELSE 子句。
注意:下面的Calculated Field 是一个文本 字段;因此,要创建 Boolean 字段,请将 "TRUE" 替换为 TRUE 并将 "FALSE" 替换为 FALSE:
CASE
WHEN Cost > 0 AND Orders = 0 THEN "TRUE"
ELSE "FALSE"
END
Editable Google Data Studio Report 和一个 GIF 来详细说明:
【解决方案2】:
Google Data Studio 团队发布了新的IF 功能和更便捷的CASE 使用方式。
更新:Release notes (11 Mar 2021)
IF(Actual Sales > Forecast Sales, Bonus * 1.2, Bonus)
文档位于IF。
如果它不起作用,请使用下面的 CASE 文档链接。它应该出现在两篇CASE 支持文章所在的侧边栏上。
CASE Premium Status
WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html")
WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html")
WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html")
ELSE CONCAT(Site URL, "welcome.html")
END
CASE (simple)
【解决方案3】:
我认为 Google Data Studio 中没有 IF 声明;但是,您的 CASE WHEN 应该可以工作。我试图重现您的问题:
- 我创建了一个包含两列
cost 和 orders 的 Google 表格,并填写了一些数字
- 我创建了一个连接到此工作表的数据源
- 我使用此数据源在 Google Data Studio 报告中创建了一个表格,并添加了一个包含您的确切公式的计算字段
- 它没有给我任何错误消息,并且字段值符合预期
从错误消息看来,这与您的数据源来自哪里有关。