SSRS定制饼图颜色

时间:2012-03-21 08:15:34

标签: reporting-services ssrs-2008

我在这里有疑问,

我需要在SSRS中显示一个饼图,根据他们的状态(通过/失败)显示学生结果.......我只有4个条件男性通过,男性失败,女性通过,女性失败,我需要用自己的颜色展示这些东西,

这是使用开关条件

=Switch(
((Fields!Gender.Value = "Male")&(Fields!Status.Value="Pass")), "Blue",
((Fields!Gender.Value = "Male")&(Fields!Status.Value="Fail")), "HotPink",
((Fields!Gender.Value = "Female")&(Fields!Status.Value="Fail")), "Orange",
((Fields!Gender.Value = "Female")&(Fields!Status.Value="Pass")),"LimeGreen" )

但在预览中它只显示默认颜色设置,而不是自定义颜色设置,任何人都可以修复此设置...提前感谢

2 个答案:

答案 0 :(得分:4)

尝试使用类似

的内容
 =IIf((Fields!Gender.Value = "Male") and (Fields!Status.Value="Pass"),"Green", 
IIf((Fields!Gender.Value = "Male") and(Fields!Status.Value="Fail"),"Red" ,
IIf((Fields!Gender.Value = "Female") and (Fields!Status.Value="Fail") ,"Blue",
(Fields!Gender.Value = "Female") and (Fields!Status.Value="Pass"),"Yellow","Orange"
,"#00000000"))))

答案 1 :(得分:4)

您也应该能够使用Switch语句使其正常工作。表达式的问题在于SSRS中的逻辑“和”运算符是,而不是&符号。在SSRS中,单个&符号用于连接字符串。因此,您的表达式连接两个布尔结果的字符串表示形式,从而产生类似TrueFalse的字符串。这实际上应该在Switch评估中给出错误。

正确的Switch语句是这样的:

=Switch(
    Fields!Gender.Value = "Male" And Fields!Status.Value="Pass", "Blue",
    Fields!Gender.Value = "Male" And Fields!Status.Value="Fail", "HotPink",
    Fields!Gender.Value = "Female" And Fields!Status.Value="Fail", "Orange",
    Fields!Gender.Value = "Female" And Fields!Status.Value="Pass","LimeGreen"
    , True, "SomeOtherColor"
)

如果某些记录未被其他条件覆盖,我还在交换机中添加了“else”部分。如果您100%确定不会发生这种情况,则可以删除以“True”开头的行。但保持它也不应该受到伤害。

更多信息:Pie Chart Techniques (look for Custom Coloring chapter)