Sql Data Studio案例错误-THEN/ELSE参数的类型不兼容:TEXT/NUMBER

Sql Data Studio案例错误-THEN/ELSE参数的类型不兼容:TEXT/NUMBER,sql,google-data-studio,Sql,Google Data Studio,我正试图将表维度名称从1更改为“Android”,但收到以下错误消息:公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型 我的案例陈述如下: 案例 当app_id=1时,则为“安卓” ELSE app_id END正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串: (CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END) 以下内容分为两

我正试图将表维度名称从1更改为“Android”,但收到以下错误消息:公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型

我的案例陈述如下:

案例 当app_id=1时,则为“安卓”
ELSE app_id END

正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串:

(CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END)

以下内容分为两个部分,首先显示可能的问题,然后显示建议的

1) 问题 1.1)不兼容类型:文本/编号 以下出现的原因是
android
文本值,而
app_id
数字类型字段:

CASE
  WHEN app_id = 1 THEN 'android'
  ELSE app_id 
END
公式无效-THEN/ELSE参数的类型不兼容:TEXT/NUMBER。所有THEN/ELSE参数必须返回相同的类型

1.2)THEN/ELSE中没有功能 此问题的结果是在语句的
然后
/
其他部分中使用函数或数学运算:

CASE
  WHEN app_id = 1 THEN 'android'
  ELSE CAST(app_id AS STRING )
END
CASE
  WHEN app_id = "1" THEN 'android'
  ELSE app_id
END
THEN/ELSE语句不能包含函数或数学运算

2) 建议 以下任何一项都能起作用:

2.1)正则表达式 以下内容适用于文本数字字段:

REGEXP_REPLACE(CAST(app_id AS TEXT),"^(1)$","android")
2.2)类型:文本 在数据源,将
app_id
字段更改为Text字段(如果需要复制字段以维护数字和文本字段),并使用以下语句:

CASE
  WHEN app_id = 1 THEN 'android'
  ELSE CAST(app_id AS STRING )
END
CASE
  WHEN app_id = "1" THEN 'android'
  ELSE app_id
END
和一个GIF来详细说明:


错误消息的哪一部分您不理解?完全理解消息,只是不确定如何将整数更改为字符串。谢谢