组总和的字体颜色表达式

时间:2017-03-31 19:33:20

标签: reporting-services ssrs-2012

我在SSRS报告中有数据分组并提供百分比。我需要更改百分比的字体颜色,我无法弄清楚如何创建表达式。

目前,我使用以下公式获得百分比:

Sum(Fields!Time_Msg.Value)/Count(Fields!Driver.Value)

Time_Msg字段是从SQL获得的。我希望使用以下公式将字体表达式设置为三种颜色中的较大颜色:

IIF(Fields!Time_Msg.Value = 1, "green",
IIF(Fields!Time_Msg.Value = 0 
And Fields!Time.Value > Fields!TimeB.Value, "red", "yellow"))

所以基本上如果记录是准时的话,字体将是绿色的,如果记录是迟到的那么红色,早期然后是黄色。

但是在提供分组总和时你会怎么做?如果所有记录中最大值为绿色,则分组总和的字体应为绿色等。

2 个答案:

答案 0 :(得分:1)

对不起格式化,因为我是这个论坛的新手..

转到文本框属性 - >字体 - >颜色并键入这样的表达式

请尝试使用Switch语句,而不是使用IIF。

= switch(Fields!Time_Msg.Value = 1, "green",

Fields!Time_Msg.Value = 0 
And Fields!Time.Value > Fields!TimeB.Value, "red")

注意:将您的条件放在switch语句中。

让我知道这是否有效

答案 1 :(得分:0)

您可以在项目中使用自定义代码

Function SetColor(ByVal Value As Integer) As String

    Dim Ret as string
    Dim doubleVal As Double 
    Ret = "Blue"

    Dim Val As Double 

    doubleVal = System.Convert.ToDouble(Value)


    if Value >= .86 then
    Ret = "OliveDrab"

    ElseIf Value <=.86 then 
    Ret = "IndianRed"

    end if

End Function

将所需的数字分配给您正在使用的任何颜色(我使用的是大于或小于86%),并将字体颜色表达式设置为=Code.SetColor(Me.Value)