【问题标题】:Regex | CASE WHEN THEN ELSE "keep same value"正则表达式 | CASE WHEN THEN ELSE “保持相同的价值”
【发布时间】:2019-03-10 11:15:08
【问题描述】:

我正在尝试在 Google Data Studio 中对某些 source/medium 维度进行分组,并将原始值留给其余部分;例如:

CASE
  WHEN (source/medium = “lnkd.IN|linkedin.*”) THEN “Linkedin”
  ELSE “”
END

ELSE 可以留空以保持相同的原始值吗?

【问题讨论】:

  • 您能否通过提供可公开编辑的 Google Data Studio 报告(如果是数据集,还提供 Google 表格)来详细说明(使用显示 1 的示例数据)输入值(约 10 行) 2)预期输出 3)尝试解决问题)?它将帮助用户可视化问题并通过客观正确/错误答案测试特定用例的建议。如果没有Minimal Reproducible Example,就很难确定建议和问题,例如数据集、数据源、报表、字段、图表

标签: regex case google-data-studio re2


【解决方案1】:

将您要更新的列放在ELSE 子句中,这样它会将原始值分配回该列。

SET columnname = CASE WHEN (`source/medium` RLIKE 'lnkd\\.in|linkedin\\.') THEN 'Linkedin' ELSE columnname END

【讨论】:

  • 请注意,在 Google Data Studio 中,SETRLIKE 目前没有实现,因此添加了各自的命令/函数,这会导致错误消息,例如:Syntax error: Unexpected "SET"Syntax error: Expected ")" but got...
【解决方案2】:

如果您希望它保持不变,您的 else 子句应该只是您正在测试的列。例如,如果您的列名是“source/medium”,它将是这样的:

CASE WHEN (source/medium = “lnkd.in|linkedin.*”) THEN “Linkedin” ELSE source/medium END

【讨论】:

  • 请注意,在答案中使用计算字段将(当前)导致错误状态:Syntax error: Illegal input character. Check that your formula does not contain smart quotes.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
  • 2021-08-30
相关资源
最近更新 更多