【发布时间】:2019-11-15 09:32:29
【问题描述】:
我正在尝试通过创建一个函数来解决我在数据中面临的问题,该函数从字符串数组中获取代码并从其他表中获取代码描述,然后将结果重新加入单个字符串中
我想创建一个函数来概括我的问题的解决方案,如果您有其他解决方案,我不喜欢使用 temp 函数:
CREATE TEMP FUNCTION
TEST(ref_no INT64,
string_array STRING,
market_par STRING) AS ( (
SELECT
STRING_AGG(SUBSTR(descr,2,LENGTH(descr)-2),', ')
FROM (
SELECT
json_EXTRACT(description,
'$.EnglishDesc') descr
FROM (
SELECT
CAST(n AS int64) n
FROM (
SELECT
*
FROM
UNNEST(SPLIT(SUBSTR(string_array,2,LENGTH(string_array)-2))) AS n)) z
JOIN
`project.dataset.table` y
ON
(z.n = y.code
AND y.typeid = ref_no
AND y.market = market_par)) )) ;
所以我将字符串数组转换为嵌套列,然后在其上使用 unnest,最后我将结果与字典表连接起来 我收到以下错误:
CREATE TEMPORARY FUNCTION statements must be followed by an actual query.
能否解决我的问题并将其推广到其他类型的代码,或者我每次都必须在不使用 UDF 的情况下对我的解决方案进行硬编码
【问题讨论】:
标签: google-cloud-platform user-defined-functions google-bigquery