繁体   English   中英

Spotfire案例陈述不起作用

[英]Spotfire Case statement not working

我正在尝试编写一个case语句,在其中要将列值分为4种情况。 但是只有一个案例创建了“ HV-HM”。 代码是:

case 
WHEN Sum([Sales])/UniqueCount([Quarter])>=${HighVolume} and Avg([Net 
Margin])>=${HighMargin} THEN "HV-HM"
WHEN Sum([Sales])/UniqueCount([Quarter])>=${HighVolume} and (Avg([Net 
Margin])<${HighMargin}) and Avg([Net Margin])>${LosingMargin} THEN "HV-LM"
WHEN Sum([Sales])/UniqueCount([Quarter])<${HighVolume} And Avg([Net Margin])
<${HighMargin} And Avg([Net Margin])>${LosingMargin} THEN "LV-LM"
WHEN Avg([Net Margin])<=${LosingMargin} THEN "Losing"
END as [Sector]

谁能解决这个问题?

评论时间太长。

语句中的每个个案都是唯一的,因此意味着所有数据都满足第一个“个案”。 由于您不应该这样做,因此最好的方法是将其分解为计算列,以便查看值。 为每种情况创建一个计算列。

为这两种方法创建一个计算列:

Sum([Sales])/UniqueCount([Quarter])
Avg([Net Margin])

然后,您可以手动查看它们将在“高和低边距”属性控件的上方还是下方。

您还可以为每种情况创建一个计算列:

case when Sum([Sales])/UniqueCount([Quarter])>=${HighVolume} and Avg([Net Margin])>=${HighMargin} then 1 end as [Test 1]
case when Sum([Sales])/UniqueCount([Quarter])>=${HighVolume} and (Avg([Net Margin])<${HighMargin}) and Avg([Net Margin])>${LosingMargin} 1 end as [Test 2]
etc...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM