[英]SSRS Color Gradient
我已经能够弄清楚如何使某些值成为我想要的某些 colors。 但是,我真的很想能够创建一个颜色渐变,这样每个值之间就可以逐渐变化。
0 = 白色
在 1 到 15 之间从白色到绿色,
16 到 25 之间从绿色到黄色的渐变,
以及从黄色到红色的渐变,介于 26 和 35 之间,
任何高于 35 的都是红色的。
这是我在背景填充表达式中的代码:
=SWITCH(
(Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) = 0, "White",
((Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) >= 1 and
(Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) <= 15), "Green",
((Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) >= 16 and
(Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) <= 25), "Yellow",
((Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) >= 26 and
(Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value))) <= 35, "Orange",
(Sum(Fields!Total_Transaction_Count.Value) / CountDistinct(Fields!TransUserNumber.Value)) > 35, "Red")
看看我不久前写的这个答案。 这是一个图表,但原理应该是一样的。
基本思想是计算 SQL 中的颜色,然后用它来设置 SSRS 中的颜色属性
将其全部保存在 SSRS 中
如果您想将其保留在报告中,您可以编写 function 来进行计算。
对于一个非常简单的红色渐变,它可能看起来像这样..
Public Function CalcRGB (minVal as double, maxVal as double, actualVal as double) as String
Dim RedValue as integer
Dim GreenValue as integer
Dim BlueValue as integer
RedValue = ((actualVal - minVal) / (maxVal - minVal)) * 256
GreenValue = 0
BlueValue = 0
dim result as string
result = "#" & RedValue.ToString("X2") & greenValue.ToString("X2") & BlueValue.ToString("X2")
Return result
End Function
在这个 function 中,我将绿色和蓝色设置为 0,但这些也可以根据要求进行计算。
要将此 function 用作背景色,请将 Background Color 属性设置为类似
=Code.CalcRGB(
MIN(Fields!myColumn.Value),
MAX(Fields!myColumn.Value),
Fields!myColumn.Value
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.