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

SSRS Bar chart, change the fill color of the top 3 Bars

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

是否可以不编写新的 sql 数据集?

任何想法都会很棒。

谢谢,

您可以使用表达式更改任何图表项的颜色。如果您想更改数据集中前 3 条记录的颜色,我会使用 SQL 中的排名来查找它们。您甚至可以用参数替换下面案例语句中的等级 3,让用户 select 成为最高编号。

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

那么你可以使用这样的表达式。

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

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

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