基本上,我需要创建一个表格来显示一周中每天的平均用户数,如果数字与平均值有 20% 的正偏差或负偏差,我需要它说“正异常值”或“负异常值” . 我目前已经计算了平均用户数,但我不知道如何编写 case 语句来显示我需要从数据中得出什么。这是我到目前为止所拥有的:
SELECT
EXTRACT(DAYOFWEEK FROM date) AS dayOfWeek,
AVG(users) AS average_users,
FROM
(
SELECT
PARSE_DATE('%Y%m%d', date) AS date,
COUNT(DISTINCT(fullVisitorId)) AS users
FROM `table`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE ('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 14 DAY))
AND FORMAT_DATE ('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
GROUP BY date
)
GROUP BY dayOfWeek
ORDER BY dayOfWeek ASC