【问题标题】:Expression for SSRS background cell colourSSRS 背景单元格颜色的表达式
【发布时间】:2014-10-18 21:48:51
【问题描述】:

我正在尝试在 SQL Server Data Tools 中编写一个表达式来生成有助于定位驱动器上文件位置的报告。基本上我的目标是满足以下标准:

IF (DriveLetter = F: OR T:) AND (FileType = MDF OR NDF) THEN Green IF (DriveLetter = G: OR U:) AND (FileType = LDF) THEN Green 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") ) 

而且它似乎不起作用。有谁知道我怎样才能达到我的要求或看到我写的表达中的任何错误?

谢谢。

【问题讨论】:

    标签: sql sql-server visual-studio-2010 vba reporting-services


    【解决方案1】:

    正如 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") )
    

    【讨论】:

    • 尾随空格是什么意思?
    • 如果表字段定义为Char 数据类型,则用尾随空格填充,如果字段定义为Varchar,则不用尾随空格填充。您可能会将F: F: 进行比较,这将不匹配。
    【解决方案2】:

    最终发现了我自己的错误。我完全忘记了表达式前的“=”符号! 我的表达一直是正确的减去忘记等号。

    【讨论】:

      【解决方案3】:

      它应该可以工作,看起来像一个错字: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")
      

      根据需要更改颜色。

      【讨论】:

      • 不,这不是错字。主 (MDF) 和辅助 (NDF) 数据文件应位于驱动器 F 或 T 上,而日志文件 (LDF) 位于 G 或 U 上
      • 那么你的描述中有一个错字AND (FileType = MDF OR LDF),此外你的IFF语句的语法应该可以工作。
      猜你喜欢
      • 2011-06-26
      • 2016-10-07
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多