我正在尝试在SQL Server数据工具中编写一个表达式,以获得有助于在驱动器上定位文件的报告。基本上我的目标是满足以下标准:
IF(DriveLetter = F:OR T :) AND(FileType = MDF OR NDF)那么绿色IF (DriveLetter = G:OR U :) AND(FileType = LDF)那么绿色ELSE 红色
这就是我的尝试:
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") )
它似乎不起作用。有谁知道我如何达到我的要求或看到我写的表达中的任何错误?
感谢。
答案 0 :(得分:0)
正如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") )
答案 1 :(得分:0)
结束找到自己的错误。我完全忘记了" ="表达前的标志! 我的表情一直都是正确的,而忽略了等号。
答案 2 :(得分:-1)
它应该有效,看起来像一个错字:NDF
VS LDF
尝试:
IIF((Fields!DriveLetter.Value = "F:" OR Fields!DriveLetter.Value = "T:") AND (Fields!FileType.Value = "MDF" OR Fields!FileType.Value = "LDF"), "Green",IIF((Fields!DriveLetter.Value = "G:" OR Fields!DriveLetter.Value = "U:") AND (Fields!FileType.Value = "LDF"), "Green", "Red") )
如果不是这种情况,请确保所有比较都有效。
即。测试:
IIF(Fields!DriveLetter.Value = "F:", "Green", "Red")
改变颜色。