[英]Divide columns after Group By call
來自 R/Dplyr 背景,我在 R 中編寫了以下代碼:
staff_time2 <- staff_time %>%
mutate(Dashboard_Group = "CC", Occupied_Time = HandleTime + AvailableTime) %>%
select(Date, Dashboard_Group, HandleTime, Occupied_Time, WorkingTime, LoginTime) %>%
mutate(Date = stringi::stri_sub(Date,1, -9), Date = mdy(Date)) %>%
filter(Date >= "2020-08-16" & Date <= "2020-08-22") %>%
group_by(Dashboard_Group) %>%
mutate(BusyTime = sum(HandleTime), OccupiedTime = sum(Occupied_Time),
WorkTime = sum(WorkingTime), Login = sum(LoginTime)) %>%
ungroup() %>%
mutate(Occupancy = BusyTime/OccupiedTime, Utilization = WorkTime/Login )
現在我試圖在 Google Big Query 上的 SQL 中做同樣的事情。 我已經通過兩個單獨的查詢完成了它:
查詢 1:
SELECT
'Contact Center' AS Dashboard_Group,
sum((HandleTime + AvailableTime)) AS Occupied_Time,
sum(WorkingTime) AS Working_Time,
sum(LoginTime) AS Login,
sum(HandleTime) AS BusyTime,
FROM `DATABASE.tblStaffTime`
WHERE Date BETWEEN "2020-08-16" AND "2020-08-22"
GROUP BY Dashboard_Group;
查詢 2:
SELECT
(BusyTime/Occupied_Time) AS Occupancy,
(Working_Time/Login) AS Utilization,
FROM `DATABASE.occupancy_and_utilization_1`;
查詢 2 只是從查詢 1 中獲取結果並划分其中的兩列。 以下是查詢 1 的結果:
我只想將BusyTime
按Occupied_Time
和Working_Time
按Login
划分。 如何將這些合並為一個查詢?
我只想將
BusyTime
按Occupied_Time
和Working_Time
按Login
划分。
您可以重復sum()
s(或使用子查詢或 CTE)。 考慮:
SELECT
'Contact Center' AS Dashboard_Group,
sum(HandleTime + AvailableTime) AS Occupied_Time,
sum(WorkingTime) AS Working_Time,
sum(LoginTime) AS Login,
sum(HandleTime) AS BusyTime,
sum(HandleTime) / sum(HandleTime + AvailableTime) as Occupancy,
sum(WorkingTime) / sum(LoginTime) as Utilization
FROM `DATABASE.tblStaffTime`
WHERE Date BETWEEN '2020-08-16' AND '2020-08-22'
GROUP BY Dashboard_Group;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.