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