将表计算字段转换为sql脚本

mutmk8jj  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(378)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

11个月前关门了。
改进这个问题
需要帮助将计算字段从tableau转换为sql吗
表字段是:

COUNTD(IF DATEDIFF('hour',[Created Date],[Closed Date])<24 then [Case Number] END)*100/COUNTD([Case Number])

需要转换成sql。希望有人能帮忙!

lskq00tm

lskq00tm1#

SELECT COUNT(DISTINCT CASE WHEN DATEDIFF(HOUR,[Created Date],[Closed Date]) < 24
                           THEN [Case Number]
                           ELSE NULL
                           END)*100/COUNT(DISTINCT [Case Number])
a9wyjsp7

a9wyjsp72#

假设案件编号永远不会是 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 意思是“count distinct”,并且您确实有重复的案例编号,那么我们回到原来的除法:

100.0
    * count(distinct case when closed_date < dateadd(day, 1, created_date) then case_number end)
    / count(distinct case_number)

相关问题