我在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"))
所以基本上如果记录是准时的话,字体将是绿色的,如果记录是迟到的那么红色,早期然后是黄色。
但是在提供分组总和时你会怎么做?如果所有记录中最大值为绿色,则分组总和的字体应为绿色等。
答案 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)