Sql SSRS背景细胞颜色的表达
我正在尝试在SQLServer数据工具中为一个报告编写一个表达式,该报告将有助于确定驱动器上文件的位置。基本上,我的目标是满足以下标准: 如果(DriveLetter=F:或T:)和(FileType=MDF或NDF),则如果为绿色 (DriveLetter=G:或U:)和(FileType=LDF),然后是绿色的ELSE 红色的 这就是我所尝试的:Sql SSRS背景细胞颜色的表达,sql,sql-server,visual-studio-2010,vba,reporting-services,Sql,Sql Server,Visual Studio 2010,Vba,Reporting Services,我正在尝试在SQLServer数据工具中为一个报告编写一个表达式,该报告将有助于确定驱动器上文件的位置。基本上,我的目标是满足以下标准: 如果(DriveLetter=F:或T:)和(FileType=MDF或NDF),则如果为绿色 (DriveLetter=G:或U:)和(FileType=LDF),然后是绿色的ELSE 红色的 这就是我所尝试的: IIF((Fields!DriveLetter.Value = "F:" OR Fields!DriveLetter.Value = "T:")
IIF((Fields!DriveLetter.Value = "F:" OR Fields!DriveLetter.Value = "T:") AND (Fields!FileType.Value = "MDF" OR Fields!FileType.Value = "NDF"), "Green",
IIF((Fields!DriveLetter.Value = "G:" OR Fields!DriveLetter.Value = "U:") AND (Fields!FileType.Value = "LDF"), "Green", "Red") )
而且它似乎不起作用。有人知道我怎样才能达到我的要求吗?有人知道我写的表达中有什么错误吗
谢谢 它应该可以工作,看起来像一个打字错误:
NDF
VSLDF
尝试:
如果不是这样,请确保所有比较都有效
即,测试:
IIF(Fields!DriveLetter.Value = "F:", "Green", "Red")
按应更改颜色。如craM所述,该语句应该有效 您可能想尝试使用Trim函数,因为它的值可能有尾随空格
IIF((Trim(Fields!DriveLetter.Value) = "F:" OR Trim(Fields!DriveLetter.Value) = "T:") AND (Trim(Fields!FileType.Value) = "MDF" OR Trim(Fields!FileType.Value) = "NDF"), "Green", IIF((Trim(Fields!DriveLetter.Value) = "G:" OR Trim(Fields!DriveLetter.Value) = "U:") AND (Trim(Fields!FileType.Value) = "LDF"), "Green", "Red") )
最后发现了我自己的错误。我完全忘记了表达式前面的“=”符号!
我的表达一直都是正确的-忘记了等号 不,这不是打字错误。主(MDF)和辅助(NDF)数据文件应位于驱动器F或T上,而日志文件(LDF)位于G或U上。如果您的说明中有输入错误
和(FileType=MDF或LDF)
,除此之外,IFF语句的语法也应该有效。尾随空格是什么意思?如果表字段定义为Char
数据类型,则用尾随空格填充,如果字段定义为Varchar
,则不用尾随空格填充。您可能正在将F:
与不匹配的F:
进行比较。
IIF((Trim(Fields!DriveLetter.Value) = "F:" OR Trim(Fields!DriveLetter.Value) = "T:") AND (Trim(Fields!FileType.Value) = "MDF" OR Trim(Fields!FileType.Value) = "NDF"), "Green", IIF((Trim(Fields!DriveLetter.Value) = "G:" OR Trim(Fields!DriveLetter.Value) = "U:") AND (Trim(Fields!FileType.Value) = "LDF"), "Green", "Red") )