首页 > 解决方案 > SSRS 中迷你图的条件格式/颜色

问题描述

我看过几个网站都建议进入图表数据>值,然后右键单击以将填充颜色属性的公式更改为定义我希望配色方案外观的公式,但我已经尝试过了,我没有得到我预期的结果。

我的数据(例如,Fields!DailySalesGoalPassFail.Value)在 Sparkline 中按 Avg 汇总,并按 EntryDate 分类。如果选择了单个位置,则对于任何给定的 EntryDate,每个通过/失败值将是“1”或“0”,但如果选择了多个位置,我希望通过/失败能够返回某些内容 -之间(例如,如果组中 2 个商店中有 1 个通过,则为“.5”)。

此外,如果 Sparkline = 1,我希望能够将节点着色为绿色,如果 = 0 则为红色,如果介于两者之间,则为黄色,但每次我尝试编写一个 Switch 语句来处理它时,起始值为0,那么整条线都是红色的,即使这个值后来爬升到 0 以上。

=Switch(
        Fields!DailySalesGoalPassFail.Value = 1, "Green",
        Fields!DailySalesGoalPassFail.Value = 0, "Red",
        true, "Yellow"
        )

我究竟做错了什么?

标签: reporting-servicesaveragessrs-2012sparklines

解决方案


我认为你Switch()取决于错误Field。因为你Fields!DailySalesGoalPassFail.Value是如你所说的,由 Avg 聚合而成,很可能是一个数字。例如,如果您Fields!DailySalesGoalPassFail.Value有从到此颜色的值1100在填充表达式中起作用:

=Switch(Fields!DailySalesGoalPassFail.Value < 50, "Green", 
        Fields!DailySalesGoalPassFail.Value > 50, "Red")

我认为你真正想要的是将你的迷你图依赖于通过/失败值。在这种情况下,您可以在填充表达式中编写以下内容(我不确定您的通过/失败值来自哪里。我现在猜测它是一个参数):

=Switch(Parameters!PassFail.Value = 1, "Green",
        Parameters!PassFail.Value = 0, "Red",
        Parameters!PassFail.Value < 1 And Parameters!PassFail.Value > 0, "Yellow")

推荐阅读