繁体   English   中英

SSRS 颜色渐变

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

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