ssrs颜色渐变

ws51t4hk  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(318)

我已经能够想出如何使某些价值观的某些颜色我想。但是,我真的希望能够创建一个颜色渐变,使它在每个值之间更像是一个渐变。
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")

这是我目前掌握的矩阵

cqoc49vn

cqoc49vn1#

看看我刚才写的这个答案。这是一个图表,但原则应该是一样的。
基本思想是在sql中计算颜色,然后用它来设置ssrs中的颜色属性
基于值计数对图表应用自定义渐变
把一切都保存在ssrs里
如果您想在报表中保留这个值,可以编写一个函数来进行计算。
对于一个非常简单的红色渐变,它可能看起来像这样。。

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

在这个函数中,我将绿色和蓝色设置为0,但这些也可以根据需求进行计算。
要将此函数用作背景色,请将background color属性设置为

=Code.CalcRGB(
              MIN(Fields!myColumn.Value),
              MAX(Fields!myColumn.Value),
              Fields!myColumn.Value
              )

相关问题