您可以在 BigQuery SQL 的 UDF 中使用聚合函数吗?

Can you have an aggregate function within a UDF in BigQuery SQL?

当我尝试使用具有聚合函数的 UDF 时,出现以下错误:

Aggregate function APPROX_QUANTILES not allowed in templated SQL function call

这是一个示例函数:

CREATE OR REPLACE FUNCTION my_function(x ANY TYPE) AS (
APPROX_QUANTILES(x, 100)[OFFSET(25)]
);

有什么方法可以在 BigQuery 的 UDF 中包含聚合函数(在我的例子中,APPROX_QUANTILES)?

试试下面的方法

CREATE OR REPLACE FUNCTION my_function(x ANY TYPE) AS ((
  SELECT APPROX_QUANTILES(y, 100)[OFFSET(25)]
  FROM UNNEST(x) y
));