我想标准化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
答案 0 :(得分:0)
您似乎想要窗口功能。我会去的:
SELECT ( (test - AVG(test) OVER () ) /
NULLIF(STDDEV_POP(test) OVER (), 0)
) AS test_normalized
FROM temp;
这将标准化/标准化每行中test
的值。