【问题标题】:Customer colour in IIF expression -SSRSIIF 表达式中的客户颜色 -SSRS
【发布时间】:2016-04-12 08:57:14
【问题描述】:

我们的SSRS 报告中有一个列显示基于expression. 的日期值

我们在下面使用expression

="Actual Max Date: " + (IIF(String.IsNullOrEmpty(First(Fields!ActualMaxDate.Value, "dataset1")),"N/A",First(Fields!ActualMaxDate.Value, "dataset2")))

逻辑如下,

如果日期为 NULL,则显示 "N/A",否则显示实际日期。在这里,我的要求是以红色显示字符串"N/A"。在SSRS如何实现?

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2012


    【解决方案1】:

    您需要使用确定 N/A 的相同条件来确定颜色:

    =IIF(String.IsNullOrEmpty(First(Fields!ActualMaxDate.Value, "dataset1")), "Red", "DimGray")
    

    将表达式放在文本框的 Color 属性中 - 如果使用弹出属性框,则位于 FILL 选项卡上。

    要仅对文本框中的部分文本着色,您需要在表达式中使用 HTML 格式。

    ="<b>Actual Max Date: </b><font color='" 
    & IIF(String.IsNullOrEmpty(First(Fields!ActualMaxDate.Value, "dataset1")), "Red", "Black") & "'>" 
    & IIF(String.IsNullOrEmpty(First(Fields!ActualMaxDate.Value, "dataset1")), "N/A", First(Fields!ActualMaxDate.Value, "DataSet1"))
    & "</font>"
    

    确保将占位符属性标记类型设置为HTML

    【讨论】:

    • 没有朋友。它会改变整个文本框的颜色。我只想在字符串“N/A”中改变颜色
    • 啊 - 我错过了那部分。您需要使用 HTML 格式。我已将其添加到答案中。
    • 感谢您的解决方案。我刚刚在第二个 IIF 表达式上删除了一个额外的括号。你能告诉我这个表达式中 & 运算符的用途是什么吗?
    • & 像加号一样连接文本。它们大多是可以互换的,尽管我认为几年前我因为使用​​ + 而不是 & 而遇到了一些问题。我认为加号假定为数字,但随后恢复为文本。我想知道是否存在性能差异。
    【解决方案2】:

    右键单击文本框 => 属性 => 背景颜色 =>

    一样填写你的表达方式
    =IIF("N/A"="N/A","Red","Blue")
    

    【讨论】:

    • 谢谢。但它会改变整个文本框的颜色。我只需要更改字符串“n/a”的颜色
    • 另外,如果 "N/A" = "N/A" 那么条件将永远为真,不是吗?
    • 这只是一个例子,你可以使用你想要的值
    • 如果您想更改字符串的颜色,只需将您的表达式粘贴到“颜色”中
    • 文本框属性 => 字体 => 颜色
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 2019-11-10
    • 2023-03-20
    相关资源
    最近更新 更多