如何将Tableau中CONTAINS逻辑计算字段迁移至BigQuery实现
BigQuery侧等价实现代码
你可以使用BigQuery内置的CONTAINS_SUBSTR函数完美复现Tableau的计算逻辑,参考写法如下:
SELECT -- 此处保留你原查询需要的其他字段 CASE WHEN CONTAINS_SUBSTR(page, '/uk') OR CONTAINS_SUBSTR(page, 'co.uk') THEN 'UK' WHEN CONTAINS_SUBSTR(page, '/be-nl') THEN 'BE NL' WHEN CONTAINS_SUBSTR(page, '/be-fr') THEN 'BE FR' WHEN CONTAINS_SUBSTR(page, '/nl') THEN 'NL' WHEN CONTAINS_SUBSTR(page, '.fr') THEN 'FR' ELSE 'US' END AS region -- 可自行修改该字段的命名 FROM `你的项目名.你的数据集名.你的表名`
额外说明
CONTAINS_SUBSTR和Tableau的CONTAINS功能完全一致,都是判断输入字符串是否包含指定子串,和原有逻辑100%对齐- 如果业务上需要忽略大小写判断,可以将对应条件替换为
REGEXP_CONTAINS(page, r'(?i)/uk|co.uk'),其中(?i)为正则的大小写不敏感标识 - 建议将上述逻辑封装为BigQuery视图,后续Tableau直接连接该视图读取预计算好的
region字段,不需要再做实时计算,可彻底解决该字段带来的性能问题
内容的提问来源于stack exchange,提问作者udis
相关产品推荐
相关产品推荐

