【问题标题】:Hiding empty values in SSRS report在 SSRS 报告中隐藏空值
【发布时间】:2018-12-19 04:56:31
【问题描述】:

我有一个 SSRS 报告,它的字段为空值,基于是/否参数

当我的参数 = 否时,此字段显示为空(无值) 当我的参数 = Yes 时,该字段有值

请看下面的图片 -

“包括折旧”参数=否, “折旧”字段为空:

[![在此处输入图片描述][1]][1]

“包括折旧”参数=是, “折旧”字段不为空

我的目标是在参数 = No(并且字段没有值)时隐藏该行

我在 SSRS 中尝试了以下操作: 在表格的“Design”视图中,点击了负责“Depreciation”的整行,Row VisibilityVisibility - “根据表达式显示/隐藏”,输入以下表达式:

=IIF(Isnothing(Fields!GLGroupLevel2Name.Value),false,true)

但它什么也没做......仍然会出现一个空行(如果参数 = 否)。

这是我的“设计”视图 (我用条件显示/隐藏修改的行 - 标记为灰色):

任何建议或意见都会非常有帮助! 谢谢...

【问题讨论】:

  • 您的行可见性需要基于您的参数值吗?不是数据集值。
  • 类似=Not Parameters!ShowDepreciation.Value
  • @DaleBurrell 它可以基于参数值 If Parameter = 0 hide that row Parameter = 1 Show that row along w the others I just tried =IIF(Parameters!Depreciation.Value=0,True ,False) 仍然没有成功
  • 通过将值硬编码为 true 然后为 false 来测试可见性是否有效。假设这是有效的,那么 IIf 一定会失败,这可能是由于数据类型不匹配。你可以试试Parameters!Depreciation.Value=CInt(0),假设参数是int
  • @DaleBurrell 即使当我测试我的参数 Parameters!Depreciation.Value=True 或 Parameters!Depreciation.Value=False - 它仍然显示空折旧行它不会像它应该的那样隐藏它 If这有助于我添加 T-SQL 代码中的内容 - 关于该参数,CASE WHEN ((acct.[GLAccountCode] IN (N'9040',N'9047',N'4130')) AND (@Depreciation = 0)) THEN 0 ELSE trans.Amount END AS [Amount] IIF((acct.[GLAccountCode]) IN (N'9040',N'9047',N'4130'), 1, 0) AS [DepreciationAcct]

标签: sql-server tsql parameters ssrs-2008-r2


【解决方案1】:

尝试组可见性的表达式

如果您的条件已修复,则转到Row Group Properties 并根据您的条件在Visibility 选项中应用您的相同表达式。

使用表达式为:

=iif((Fields!YourFieldName.Value <> "") ,false,true)

如下图所示

这应该可行。

【讨论】:

  • 谢谢!是的,我必须在组可见性中添加“基于表达式显示或隐藏”可见性选项。我用了上面会员提供的表达方式!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多