我试图将我的表维度名从1更改为"Android",但我得到了以下错误消息:无效公式--那么/ get参数具有不兼容的类型: TEXT/ NUMBER。所有这些参数都必须返回相同的类型。
我的案例陈述如下:
当app_id =1时,则为“android”其他app_id结束时
发布于 2020-09-19 02:40:02
下面分为两个部分,首先显示可能的问题,然后显示建议的 计算场。
1)问题
1.1)不兼容类型:文本/数字
下面的情况发生在android是文本值时,app_id是Number Type字段:
CASE
  WHEN app_id = 1 THEN 'android'
  ELSE app_id 
END无效公式--那么/TEXT参数有不兼容的类型: TEXT/ NUMBER。所有这些参数都必须返回相同的类型。
1.2)当时没有任何职能
此问题的结果是函数或数学操作在THEN/ELSE部分的CASE语句中使用:
CASE
  WHEN app_id = 1 THEN 'android'
  ELSE CAST(app_id AS STRING )
END则/ELSE语句不能包含函数或数学操作。
2)建议
下面的任何一个计算场都能做到这一点:
2.1) RegEx
下面的计算场适用于文本或Number字段:
REGEXP_REPLACE(CAST(app_id AS TEXT),"^(1)$","android")2.2)类型:案文
在数据源中,将app_id字段更改为文本字段(如果需要的话复制该字段以维护Number和Text字段),并使用CASE语句:
CASE
  WHEN app_id = "1" THEN 'android'
  ELSE app_id
END报告和GIF详细说明:

https://stackoverflow.com/questions/63962565
复制相似问题