如何在Looker中将字符串类型百分比字段转数值并筛选阈值以上数据
在Looker中将字符串类型的打开率转为数值并实现筛选
方法一:通过LookML模型层永久转换(推荐)
如果你拥有LookML模型的编辑权限,直接在对应视图(View)中新增一个数值类型的衍生维度:
dimension: open_rate_numeric { type: number sql: CAST(${open_rate_str} AS FLOAT64) ;; # 注:CAST的目标数据类型需匹配你的数据库,比如DECIMAL(5,2)、NUMERIC等 }
- 替换
open_rate_str为你实际的字符串类型打开率字段名 - 保存并部署模型后,这个新字段就支持使用
大于/小于等比较运算符设置筛选条件
方法二:在探索界面临时转换(无需编辑LookML)
如果没有LookML编辑权限,可在探索(Explore)页面创建自定义字段:
- 点击页面中的「添加」→「自定义字段」
- 输入SQL转换表达式,示例:
CAST(open_rate AS FLOAT64)(替换为你的字段名) - 给字段命名(如「数值型打开率」),并设置字段类型为「数值」
- 保存后即可用该字段设置「大于30」的筛选规则
注意事项
- 若字符串字段包含百分号(如
35%),需先移除符号再转换,示例:CAST(REPLACE(open_rate, '%', '') AS FLOAT64) - 若字段存在非数字脏数据,建议使用数据库对应的安全转换函数避免报错,比如BigQuery的
SAFE_CAST、PostgreSQL的TRY_CAST:sql: SAFE_CAST(${open_rate_str} AS FLOAT64) ;;
内容的提问来源于stack exchange,提问作者Sofia Arrambide
相关产品推荐
相关产品推荐

