SSRS条形图,更改前3个条形的填充颜色

时间:2018-02-19 15:01:51

标签: reporting-services ssrs-2008

在SSRS中,我有一个条形图。我想动态更改前3个栏的栏颜色。

编写新的SQL数据集是否可以实现?

任何想法都会很棒。

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以使用表达式更改任何图表项的颜色。如果要更改数据集中前3个记录的颜色,我将使用SQL中的排名来查找它们。您甚至可以使用参数替换下面的case语句中的等级3,以便让用户选择最顶层的数字。

WITH
your_chart_data
AS
(
    SELECT tbl.* FROM (VALUES
      ( 'Group1', 100)
    , ( 'Group2', 90)
    , ( 'Group3', 80)
    , ( 'Group4', 70)
    , ( 'Group5', 60)
    , ( 'Group6', 50)
    , ( 'Group7', 40)
    , ( 'Group8', 30)
    , ( 'Group9', 20)
    , ( 'Group10', 10)
    , ( 'Group11', 0)
    ) tbl ([YourColumnGroupHere], [YourColumnValueHere]) 
)
SELECT 
      [YourColumnGroupHere]
    , [YourColumnValueHere]
    , [YourColumnRank] = 
        CASE 
            WHEN RANK() OVER (ORDER BY [YourColumnValueHere] DESC) <= 3 THEN 1
            ELSE 0
        END 
FROM 
    your_chart_data

enter image description here

然后你可以使用这样的表达式。

=IIF(Fields!YourColumnRank.Value = 1, "Red", "Green")

选择您要更改的系列属性之一。

enter image description here

然后选择Fill并在Color点击fx旁边,您可以创建一个表达式来更改颜色。

enter image description here