[英]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.