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
然后您可以创建一个表达式来更改颜色。
在 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
然后您可以创建一个表达式来更改颜色。