我正在尝试使用 BigQuery 标准 SQL 编写查询(因为我们想要利用一些功能)。
PERCENTILE_CONT() 在标准 SQL 中是否有等效函数,因为它似乎仅在使用 Legacy SQL 选项时受支持?
WITH
CTE_EmployeeData AS (
SELECT
E.JobID,
E.FB1
FROM
ZA_Month_End_190.Employee_Primary_Data E
WHERE
JobID IN UNNEST([111,1414]) /* For these specidifc jobs */
),
CTE_Stats AS (
SELECT
JobID,
COUNT(*) SampleSize,
SUM(CASE WHEN FB1 > 0 THEN 1 ELSE 0 END) WtdSampleSize_FB1,
CAST(SUM(FB1) AS INT64) WtdSum_FB1
FROM
CTE_EmployeeData
GROUP BY
JobID
),
CTE_Percentiles AS (
SELECT
ED.JobID,
CASE
WHEN S.SampleSize > 10
THEN PERCENTILE_CONT(0.25) OVER (PARTITION BY ED.JobID ORDER BY ED.FB1 DESC) [Percentile1]
ELSE 0
END [FB1_Percentile1]
FROM
CTE_Stats S
INNER JOIN CTE_EmployeeData ED ON S.JobID = ED.JobID
)
SELECT
*
FROM
CTE_Percentiles
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13287 次 |
| 最近记录: |