组总和的字体颜色表达式



>我在 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"))

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

但是,在提供分组金额时,您会怎么做?如果所有记录中的最大值为绿色,则分组总和的字体应为绿色,依此类推。

很抱歉格式化,因为我是这个论坛的新手。

转到文本框属性->字体->颜色",然后键入如下所示的表达式

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

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

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

让我知道这是否有效

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

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)

最新更新