2013-04-30 63 views
1

在我的条形图中,我只有1个系列(比方说,销售)和10个类别(比方说,地区)。 我想让每个类别的栏自动以不同的颜色显示。 我可以为“填充”属性添加一个SWITCH操作,但它不实际,因为类别值是数据驱动的并且不断变化。如何在SSRS 2008 R2的条形图中为每个类别制作不同的颜色

+0

我不确定这有多相关,但由于SSRS图表基于原始Dundas图表(和类似于ASP.NET图表),如果您有权访问底层图表对象模型,则可以将颜色分配给各个数据点,例如循环通过系列集合做类似'oChart.Series [i] .Points [0] .Color = aSomeColorArray [i]' – 2013-04-30 18:28:10

+0

这是超越我... – Amarundo 2013-04-30 19:24:29

+0

而不是使用SWITCH的填充点 - 它指向一个数据集字段?之后,您所要做的就是从数据源提供该字段中的颜色。 – 2013-04-30 19:46:03

回答

3

为了保持一致性,您可能需要为每个区域指定一种颜色,以便它们总是以相同的颜色显示。你可以一个RegionColor字段添加到您的表,然后分配给你的系列属性的Fill属性:

=Fields!RegionColor.Value 

然后,每当报表用户看到蓝色的,他们知道这是一定的区域,黄色是另一个区域,贯穿您的所有报告。

这适用于数量有限的地区。

+0

谢谢克里斯。我将它作为计算字段而不是数据库。在许多情况下,如你所说,在数据库中会更好,但在我的特殊情况下,我认为这样更好,因为源代码是一个XML文件,我无法访问它的这一代。 – Amarundo 2013-05-01 15:16:01

+1

在这种情况下,您可以使用计算的字段来创建区域颜色的XML文件,将其用作数据集,然后使用从区域到颜色的查找,例如, =查找(Fields!Region.Value,Fields!Region.Value,Fields!Color.Value,“RegionColorsDataset”)这样可以更有弹性地替换您的计算,并且您仍然可以在报表之间保持颜色的一致性。 – 2013-05-01 21:50:11

相关问题