Reporting services 行可见性表达式

Reporting services 行可见性表达式,reporting-services,sql-server-2012,Reporting Services,Sql Server 2012,我有一个报告,它有两个日期参数(StartDate和StartInMarketDate)。在某些情况下,StartInMarketDate值为空,数据库可以为空。当两个参数都为NULL或StartInMarketDate参数为NULL时,所有记录都应显示在报告上。如果为StartInMarketDate参数指定了日期且StartDate为NULL,则报告应排除StartInMarketDate为NULL的所有记录 我假设我应该能够解决这个问题,基于表达式隐藏行,但是我无法获得正确的语法 下面是我

我有一个报告,它有两个日期参数(StartDate和StartInMarketDate)。在某些情况下,StartInMarketDate值为空,数据库可以为空。当两个参数都为NULL或StartInMarketDate参数为NULL时,所有记录都应显示在报告上。如果为StartInMarketDate参数指定了日期且StartDate为NULL,则报告应排除StartInMarketDate为NULL的所有记录

我假设我应该能够解决这个问题,基于表达式隐藏行,但是我无法获得正确的语法

下面是我提出的语法,但是当我输入StartInMarketDate参数时,它包括所有记录,当我使用StartDate参数时,它排除了正确的记录

=IIF(IsNothing(Parameters!StartInMarketDate.Value), IIF(IsNothing(Fields!StartInMarketDate.Value), IIF(IsNothing(Parameters!StartDate.Value), False, True), False), False)
任何关于我错在哪里的建议都将不胜感激


谢谢。

如果要使用表达式,请记住您设置的是隐藏属性,而不是可见属性。如果你看一下外部IIF,你基本上说如果StartInMarketDate不是空的,那么就把Hidden设置为False(全部显示)

基本正确=隐藏;假=显示


您可能只需要交换所有的真/假。

我认为您将隐藏表达式向后-值应该是,而不是显示它

你的表情似乎有点太复杂了。根据您的条件,您只希望排除行:

为StartInMarketDate参数和StartDate指定日期时 是空的。。。排除StartInMarketDate字段所在的所有记录 空


是否要筛选StartInMarketDate字段与StartInMarketDate参数匹配的位置?

我建议您在数据集查询中进行此筛选。写入和保存从服务器返回的永远看不到的行会更容易。
=IIF(NOT IsNothing(Parameters!StartInMarketDate.Value) AND IsNothing(Parameters!StartDate.Value) AND IsNothing(Fields!StartInMarketDate.Value), TRUE, FALSE)