我正在使用SSRS SQL Server 2017,无法在线找到有关如何在图表上实现随机颜色的任何指示。
我知道曾经有一种使用自定义代码在SSRS 2008R2上实现此目标的方法,因为我们的某些报告中曾经使用颜色随机的图表。
不幸的是,当我们移至SSRS 2017时,图表中的颜色代码因错误而被删除。现在用户希望它回来。
在寻求解决方案方面的任何帮助将不胜感激。
答案 0 :(得分:0)
好的,请为希望向图表等动态添加多种颜色的其他人破解。
首先引用.NET程序集“ System.Drawing”。这使我们能够读取颜色并将其从RGB转换为HTML。
右键单击您的SSRS报告。
转到属性>引用。
添加新参考(通过使用[...]浏览)
共有三个选项卡,请使用.NET。在这里,您会找到“ System.Drawing”。选择它,然后单击[确定]。
接下来,我们添加一些自定义代码(一个函数)。该函数基本上创建了一个随机的RGB颜色参考,然后将其转换为SSRS友好格式:
通过再次右键单击您的SSRS报告来执行此操作。
转到属性>代码。
添加此内容:
Public Shared Function GenerateRandomColor(ByVal seed As Integer) As String
Dim randNum As New Random(seed)
Return System.Drawing.ColorTranslator.ToHtml( _
System.Drawing.Color.FromArgb( _
randNum.Next(0, 255), _
randNum.Next(0, 255), _
randNum.Next(0, 255)))
End Function
完成后点击[确定]。
接下来,我们需要调用函数来填充图表。 右键单击图表,然后选择“系列属性”
转到“填充”并点击[fx]按钮以添加表达式。
粘贴以下代码:
=Code.GenerateRandomColor(RunningValue(Fields!Description.Value,Count,Nothing))
您完成了!现在,无论您的数据产生多少列,您的图表都将看起来像真正的彩虹。