google-data-studio - 数据洞察案例语句 - 如何返回原始值?
问题描述
我正在尝试制作一个计算字段。这是我写的案例陈述。
case Rank
when 0 then '-'
end
这按预期工作,但为其他值返回 null:
我想显示 0 以外的值的原始值(在这种情况下,应该是 1 而不是 null)。我试过这个:
case Rank
when 0 then '-'
else Rank
end
但收到此错误:
Invalid formula - THEN/ELSE arguments have incompatible types: TEXT/ NUMBER. All THEN/ELSE arguments must return the same type.
我找不到任何例子。有没有办法做到这一点?
解决方案
显示第二个CASE语句中的错误是因为该字段的语义类型(以下称为类型)Rank
是数字,而第THEN
2 行(破折号-
)上的部分是文本类型:
无效的公式 - THEN/ELSE 参数的类型不兼容:TEXT/NUMBER。所有 THEN/ELSE 参数必须返回相同的类型。
下面的解决方案涉及确保所有输出都是单个Type,(在本例中为Text);有几种方法(使用下面的#1或#2):
1)Rank
将计算字段中的类型更改为文本
一种方法是合并将CAST
Field Type更改为Text的功能;整个过程可以使用以下函数在单个计算字段中完成:REGEXP_REPLACE
REGEXP_REPLACE(CAST(Rank AS TEXT ), "^(0)$", "-" )
2)Rank
将数据源的类型更改为文本
第二种方法是更改数据源的字段类型并Rank
使用第二个CASE语句进行小编辑(将 0 括在引号中,因此0
变为"0"
):
CASE Rank
WHEN "0" THEN '-'
ELSE Rank
END
可编辑的 Google Data Studio 报告和 GIF 来详细说明:
推荐阅读
- javascript - 从值 javascript 中获取 Key
- c - C 是否优化了枚举的大小?
- wordpress - 使用 Wordpress 插件保存数据时出现问题
- css - 排列相对于彼此垂直移动的列中的元素
- php - PHP Laravel v5.7.0 获取设备资源控制器的 404 页面未找到
- react-native - React-Native, Google Photos API 图片上传
- python - 删除重复值并计算值
- mfc - MFC 保存自定义标题列宽
- r - 如何将一列的 NA 值替换为该列之后的值?
- php - Laravel 5.7 无法连接到 Windows 上的 SQLSRV 数据库(找不到驱动程序)