小编sl0*_*007的帖子

带数组的 Bigquery javascript UDF

我正在尝试使用标准 SQL 和 javascript UDF 在 bigquery 中运行以下查询。该查询需要永远运行,因此我什至无法验证该函数是否正常工作。如果查询有任何问题导致它永远运行,您能告诉我吗?我尝试将函数调用从 更改为IRRCalc(Array<FLOAT64> [cash_flow], ARRAY<INT64> [date_delta]) as IRRIRRCalc(array(select cash_flow from input),array(select date_delta from input)) as IRR解决了问题。虽然我不明白有什么问题IRRCalc(Array<FLOAT64> [cash_flow], ARRAY<INT64> [date_delta]) as IRR。有人可以看一下并透露一些信息吗?非常感谢。

这是查询:

CREATE TEMPORARY FUNCTION IRRCalc(cash_flow ARRAY<FLOAT64>, date_delta ARRAY<INT64>)
RETURNS FLOAT64
LANGUAGE js AS """
  min = 0.0;
  max = 1.0;
  do {
    guess = (min + max) / 2;
    NPV = 0.0;
    for (var j=0; j<cash_flow.length; j++){
      NPV += cash_flow[j]/Math.pow((1+guess),date_delta[j]/365);
    }
    if (NPV > 0){
      min = …
Run Code Online (Sandbox Code Playgroud)

javascript user-defined-functions google-bigquery

5
推荐指数
1
解决办法
2779
查看次数