Data Studio CASE 错误 - THEN/ELSE 参数具有不兼容的类型:TEXT/NUMBER
Data Studio CASE error - THEN/ELSE arguments have incompatible types: TEXT/ NUMBER
我正在尝试将我的 table 维度名称从 1 更改为“Android”,但我收到此错误消息:无效的公式 - THEN/ELSE 参数具有不兼容的类型:文本/数字。所有 THEN/ELSE 个参数必须 return 相同类型。
我的案例陈述如下:
案例
当 app_id = 1 那么 'android'
其他 app_id 结束
正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串:
(CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END)
下面分为两部分,首先显示可能的问题,然后显示建议 Calculated Fields:
1) 问题
1.1) 不兼容的类型:TEXT/ NUMBER
由于 android
是 Text 值而 app_id
是 Number 类型字段,因此出现以下情况:
CASE
WHEN app_id = 1 THEN 'android'
ELSE app_id
END
Invalid formula - THEN/ELSE arguments have incompatible types: TEXT/ NUMBER. All THEN/ELSE arguments must return the same type.
1.2) THEN/ELSE
中没有函数
此问题是由于 函数或数学运算 用于 CASE
语句的 THEN
/ELSE
部分:
CASE
WHEN app_id = 1 THEN 'android'
ELSE CAST(app_id AS STRING )
END
THEN/ELSE statements cannot contain functions or mathematical operations.
2) 建议
以下 Calculated Fields 中的任何一个都可以解决问题:
2.1) 正则表达式
下面的 Calculated Field 适用于 Text 或 Number 字段:
REGEXP_REPLACE(CAST(app_id AS TEXT),"^(1)$","android")
2.2) 类型:文本
在数据源中,将 app_id
字段更改为 Text 字段(如果需要维护数字和文本字段,请复制该字段)并使用 CASE
语句:
CASE
WHEN app_id = "1" THEN 'android'
ELSE app_id
END
Google Data Studio Report 和一个 GIF 来详细说明:
我正在尝试将我的 table 维度名称从 1 更改为“Android”,但我收到此错误消息:无效的公式 - THEN/ELSE 参数具有不兼容的类型:文本/数字。所有 THEN/ELSE 个参数必须 return 相同类型。
我的案例陈述如下:
案例 当 app_id = 1 那么 'android' 其他 app_id 结束
正如错误消息所说,整数和字符串不兼容。您需要将整数转换为字符串:
(CASE WHEN app_id = 1 THEN 'android' ELSE CAST(app_id as string) END)
下面分为两部分,首先显示可能的问题,然后显示建议 Calculated Fields:
1) 问题
1.1) 不兼容的类型:TEXT/ NUMBER
由于 android
是 Text 值而 app_id
是 Number 类型字段,因此出现以下情况:
CASE
WHEN app_id = 1 THEN 'android'
ELSE app_id
END
Invalid formula - THEN/ELSE arguments have incompatible types: TEXT/ NUMBER. All THEN/ELSE arguments must return the same type.
1.2) THEN/ELSE
中没有函数此问题是由于 函数或数学运算 用于 CASE
语句的 THEN
/ELSE
部分:
CASE
WHEN app_id = 1 THEN 'android'
ELSE CAST(app_id AS STRING )
END
THEN/ELSE statements cannot contain functions or mathematical operations.
2) 建议
以下 Calculated Fields 中的任何一个都可以解决问题:
2.1) 正则表达式
下面的 Calculated Field 适用于 Text 或 Number 字段:
REGEXP_REPLACE(CAST(app_id AS TEXT),"^(1)$","android")
2.2) 类型:文本
在数据源中,将 app_id
字段更改为 Text 字段(如果需要维护数字和文本字段,请复制该字段)并使用 CASE
语句:
CASE
WHEN app_id = "1" THEN 'android'
ELSE app_id
END
Google Data Studio Report 和一个 GIF 来详细说明: