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

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

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

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

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

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

lskq00tm

lskq00tm1#

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

a9wyjsp72#

假设案件编号永远不会是 null ,你可以用 avg() :

  1. avg(case when closed_date < dateadd(day, 1, created_date) then 100.0 else 0 end)

否则,你需要更多的逻辑:

  1. avg(case
  2. when case_number is null then null
  3. when closed_date < dateadd(day, 1, created_date) then 100.0
  4. else 0
  5. end)

最后,如果 COUNTD 意思是“count distinct”,并且您确实有重复的案例编号,那么我们回到原来的除法:

  1. 100.0
  2. * count(distinct case when closed_date < dateadd(day, 1, created_date) then case_number end)
  3. / count(distinct case_number)
展开查看全部

相关问题