bigquery 中的规范化(静态):我应该如何修复我的代码以获得规范化的数字



我想规范化bigquery中的数据但我得到了如下所示的错误按摩: "SELECT 列表表达式引用既不分组也不聚合的列测试"和(test- AVG(test))带有下划线。

我知道Python或其他工具很容易规范化数据但我必须在 bigquery 中这样做。

我应该如何更改此代码?

SELECT 
  CASE WHEN STDDEV_POP(test) IS NOT NULL AND STDDEV_POP(test) > 0
  THEN
   (test - AVG(test))/ STDDEV_POP(test)
  ELSE
   NULL
  END AS test_normalized
FROM temp

你似乎想要窗口函数。 我会选择:

SELECT ( (test - AVG(test) OVER () ) / 
         NULLIF(STDDEV_POP(test) OVER (), 0) 
       ) AS test_normalized
FROM temp;

这将标准化/规范化每行中test的值。

最新更新