【问题标题】:SSRS. How to hide blank/empty column via expression?SSRS。如何通过表达式隐藏空白/空列?
【发布时间】:2015-03-02 08:53:23
【问题描述】:

如果列中的所有行都是空的(空白),我需要隐藏列。

在这种情况下,col3 应该被隐藏,因为列中没有值。

col1 col2 col3
 v1   v4
 v2
 v3   

我在 Hidden 属性列上使用以下表达式:

=IIF(Fields!Test5.Value = "",TRUE,FALSE)

这个表达式有效,但它隐藏了每个空白(空)字段,甚至所有列都不为空。只有当根本没有值时它才应该隐藏列。

【问题讨论】:

    标签: reporting-services ssrs-2008 ssrs-2012 ssrs-expression


    【解决方案1】:

    你可以使用:

    =IIF(Max(Field, Dataset)= "",TRUE,FALSE)

    如果最大值为空则表示没有任何内容,并在列上进行隐藏表达式。

    【讨论】:

    • 请直接引用数据集,即:=Max(Fields!InvoiceID.Value, "SalesInvoiceDS") 我们引用的是“整个”数据集值,而不是当前的 tablix 上下文
    • @sdrzymala 这很棒。非常感谢!我只想提一下,如果要隐藏列,请使用 Visibility 字段而不是 Hidden 字段。这样,当列为空时,将不存在间隙。因此,如果是 tablix,请右键单击该列,选择 Column Visibility 并在“基于表达式显示或隐藏”下方写下上述表达式。
    【解决方案2】:

    如果是 SSRS 报告,请右键单击列并单击 文本框属性,选择 列可见性 并在 “显示或根据表达式隐藏”

    如果列值为 Null,您可以在下面使用:

    =IsNothing(Fields!Column.Value) 
    

    【讨论】:

    • 如果列中的 all 值为空,则不回答隐藏问题。充其量,如果它完全有效,这将默默地获得 first 值(隐含First())并据此错误地隐藏。
    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多