如何将Oracle语法的3个计算列转换为Spotfire计算列?
Oracle计算列转Spotfire语法
以下是将Oracle语法的三个计算列转换为Spotfire支持的表达式,可直接用于创建计算列:
1. st_upeh 计算列
Spotfire表达式:
Round( Case When Coalesce(Sum([out_qty]), 0) = 0 Then 0 Else 60 / Case When Sum([std_out]) = 0 Then 1 Else Sum([std_out]) / Coalesce(Sum([out_qty]), 1) End , 2)
说明:用Case替代Oracle的decode,Coalesce替代nvl,列名用[]包裹,聚合逻辑与原Oracle代码完全对齐。
2. lottime_upeh 计算列
Spotfire表达式:
Round( Case When Coalesce(Sum([lot_time]), 0) = 0 Then 0 Else Coalesce(Sum([out_qty]), 0) * 60 / Sum([lot_time]) , 2)
3. real_upeh 计算列
Spotfire表达式:
Round( (60 / Case When Sum([std_out]) = 0 Then 1 Else Sum([std_out]) / Coalesce(Sum([out_qty]), 1) End) * (Sum([std_time]) / Coalesce(Sum([work_time]), 1)) , 2)
内容的提问来源于stack exchange,提问作者JP Valero
相关产品推荐
相关产品推荐

