正则表达式|否则的情况“保持相同的值”

时间:2019-03-10 11:15:09

标签: regex google-data-studio

我正在尝试在Data Studio中对某些源/介质维度进行分组,而其余部分保留原始值。

示例:

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

else可以保留为原始值吗?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

注意到上面的公式中没有调用RegEx函数(例如REGEXP_MATCH);这可以解决问题:

1)匹配lnkd [任何字符] inlinkedin [之后的任何东西]

CASE
  WHEN REGEXP_MATCH(source/medium, "lnkd.in|linkedin.*") THEN "Linkedin"
  ELSE source/medium
END

2)匹配lnkd.inlinkedin [之后发生的任何事情]

CASE
  WHEN REGEXP_MATCH(source/medium, "lnkd\\.in|linkedin.*") THEN "Linkedin"
  ELSE source/medium
END

创建了一个Google Data Studio(嵌入式Google Sheets)进行演示。

1]