我的报告有两个日期参数(StartDate和StartInMarketDate)。在某些情况下,StartInMarketDate值是数据库可以为NULL。当两个参数都为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)
对于我出错的地方的任何建议表示赞赏。
感谢。
答案 0 :(得分:0)
如果要使用表达式,请记住您正在设置隐藏属性,而不是可见属性。如果你看外面的IIF你基本上说IF StartInMarketDate不是空的,那么将Hidden设置为False(显示全部)。
基本上是真=隐藏;假=显示。
您可能只需要交换所有的True / False。
答案 1 :(得分:0)
我认为你的隐藏表达式向后 - 当隐藏行时,该值应为 TRUE ,而不是显示它。
你的表情似乎有点过于复杂。根据您的条件,您只想排除行:
为StartInMarketDate参数和StartDate指定日期 为NULL ...排除StartInMarketDate字段所在的所有记录 NULL。
=IIF(NOT IsNothing(Parameters!StartInMarketDate.Value) AND IsNothing(Parameters!StartDate.Value) AND IsNothing(Fields!StartInMarketDate.Value), TRUE, FALSE)
您是否希望过滤StartInMarketDate日期字段与StartInMarketDate参数匹配的位置?