繁体   English   中英

这个SSRS开关表达式有什么问题?

[英]What am I doing wrong with this SSRS switch expression?

我在这里遵循指南-> 如何基于最小值和最大值并使用下面的代码从SSRS报告中添加类似Excel的“色标”红-黄-绿条件格式

 =SWITCH 
(Fields!.Value >= Min(Fields!myField.Value, "DataSetName") + (5 *((Max(Fields!myField.Value, "DataSetName")-Min(Fields!myField.Value, "DataSetName"))/6)) ,"#0ca102"
 Fields!.Value >= Min(Fields!myField.Value, "DataSetName") + (4 *((Max(Fields!myField.Value, "DataSetName")-Min(Fields!myField.Value, "DataSetName"))/6)) ,"#7fda24"
 Fields!.Value >= Min(Fields!myField.Value, "DataSetName") + (3 *((Max(Fields!myField.Value, "DataSetName")-Min(Fields!myField.Value, "DataSetName"))/6)),"#bdff30"
 Fields!.Value >= Min(Fields!myField.Value, "DataSetName") + (2 *((Max(Fields!myField.Value, "DataSetName")-Min(Fields!myField.Value, "DataSetName"))/6)),"Gold"
 Fields!.Value >= Min(Fields!myField.Value, "DataSetName") + ((Max(Fields!myField.Value, "DataSetName")-Min(Fields!myField.Value, "DataSetName"))/6),"Yellow"
 1=1,"Coral")

然后我用实际名称替换了变量的名称,但是我认为我错过了过程中的某个地方,因为我的报告没有运行。 有人看到我做错了吗?

这是我的版本

=SWITCH 
 (Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (5 * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)) ,"#0ca102"
 Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (4  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)) ,"#7fda24"
 Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (3  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)),"#bdff30"
 Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (2  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)),"Gold"
 Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6),"Yellow"
 1=1,"Coral")

编辑:这不是一个重复的问题,上一个问题是询问如何将数字获取到多边形,这个问题仅与case语句有关

十六进制颜色后,您错过了逗号。 它像

=Switch(Condition1, TruePart1, Condition2, TruePart2, ...)

=SWITCH(
        Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (5 * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)) ,"#0ca102",
        Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (4  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)) ,"#7fda24",
        Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (3  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)),"#bdff30",
        Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + (2  * ((Min(Fields!NYValue.Value, "CustomersByState")-Min(Fields!SDValue.Value, "CustomersByState"))/6)),"Gold",
        Min(Fields!NEValue.Value, "CustomersByState") >= Min(Fields!SDValue.Value, "CustomersByState") + ((Min(Fields!NYValue.Value, "CustomersByState")-
        Min(Fields!SDValue.Value, "CustomersByState"))/6),"Yellow",
        1=1,"Coral"
        )

暂无
暂无

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

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