需要帮助将Tableau中的计算字段转换为SQL语言。
Tableau字段是。
COUNTD(IF DATEDIFF('hour',[Created Date],[Closed Date])<24 then [Case Number] END)*100/COUNTD([Case Number])
需要转换为SQL语言 希望有人能帮忙
SELECT COUNT(DISTINCT CASE WHEN DATEDIFF(HOUR,[Created Date],[Closed Date]) < 24
THEN [Case Number]
ELSE NULL
END)*100/COUNT(DISTINCT [Case Number])
假设案件编号从来没有 null
,你可以用 avg()
:
avg(case when closed_date < dateadd(day, 1, created_date) then 100.0 else 0 end)
否则,你需要更多的逻辑。
avg(case
when case_number is null then null
when closed_date < dateadd(day, 1, created_date) then 100.0
else 0
end)
最后: 如果 COUNTD
意思是 "算得清清楚楚",而你确实有重复的案号,那么我们又回到了原来的除法技巧。
100.0
* count(distinct case when closed_date < dateadd(day, 1, created_date) then case_number end)
/ count(distinct case_number)