Reporting services 在SSRS 2008 R2中,如何在条形图中为每个类别设置不同的颜色

Reporting services 在SSRS 2008 R2中,如何在条形图中为每个类别设置不同的颜色,reporting-services,Reporting Services,在我的条形图中,我只有1个系列(比如说销售)和10个类别(比如说地区)。 我希望每个类别的栏自动以不同的颜色显示。 我可以为“Fill”属性添加一个开关操作,但这并不实用,因为类别值是数据驱动的,并且不断变化。为了一致性,您可能希望为每个区域指定一种颜色,以便它们始终以相同的颜色显示。您可以将RegionColor字段添加到表中,然后将其分配给系列属性的Fill属性: =Fields!RegionColor.Value 然后,当您的报表用户看到蓝色时,他们知道这是某个区域,黄色是另一个区域,在

在我的条形图中,我只有1个系列(比如说销售)和10个类别(比如说地区)。 我希望每个类别的栏自动以不同的颜色显示。
我可以为“Fill”属性添加一个
开关
操作,但这并不实用,因为类别值是数据驱动的,并且不断变化。

为了一致性,您可能希望为每个区域指定一种颜色,以便它们始终以相同的颜色显示。您可以将RegionColor字段添加到表中,然后将其分配给系列属性的
Fill
属性:

=Fields!RegionColor.Value
然后,当您的报表用户看到蓝色时,他们知道这是某个区域,黄色是另一个区域,在所有报表中都是一致的


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

我不确定这是否相关,但由于SSRS图表基于原始Dundas图表(与ASP.NET图表类似),如果您有权访问基础图表对象模型,则可以为各个数据点指定颜色,例如,通过系列集合循环执行类似于
oChart.series[i].Points[0].Color=aSomeColorArray[i]
的操作,而不是使用填充开关-将其指向数据集字段?在这之后,您所要做的就是从数据源中提供该字段的颜色。这就是我所做的:我有一个计算字段
color
,并根据
开关给它一个值,但这只给了我预期的数据。无论如何,非常感谢!谢谢你,克里斯。我把它作为一个计算字段,而不是在DB中。在很多情况下,如您所说,在DB中会更好,但在我的特殊情况下,我认为这样更好,因为源是一个XML文件,我无法访问它的生成。在这种情况下,您可以使用计算字段,而可以使用区域颜色的XML文件,将其用作数据集,然后使用从区域到颜色的查找,例如=查找(Fields!region.Value,Fields!region.Value,Fields!color.Value,“RegionColorsDataset”),这将有效地以更大的灵活性替换您的计算,并且您仍然可以在报告中保持颜色的一致性。