2017-04-03 50 views
0

我有一個報告有兩個日期參數(StartDate和StartInMarketDate)。在某些情況下,StartInMarketDate值是數據庫可以爲NULL。當這兩個參數都爲NULL或StartInMarketDate參數爲NULL時,所有記錄都應顯示在報告中。爲StartInMarketDate參數指定日期並且StartDate爲NULL時,報告應排除StartInMarketDate爲NULL的所有記錄。SSRS行可見性表達式

我想我應該能夠解決這個問題隱藏基於表達式行,但我不能得到正確的語法。

下面是我想出了語法,但它包含了所有的記錄,當我進入StartInMarketDate參數,並排除當我使用StartDate參數正確的記錄。

=IIF(IsNothing(Parameters!StartInMarketDate.Value), IIF(IsNothing(Fields!StartInMarketDate.Value), IIF(IsNothing(Parameters!StartDate.Value), False, True), False), False) 

任何關於我要去哪裏的錯誤的建議表示讚賞。

謝謝。

+0

我建議你在數據集查詢中做這個過濾。編寫並保存永遠不會被看到的服務器返回的行會更容易。 –

回答

0

我認爲你有隱藏表達向後 - 值應爲TRUE當它應該隱藏行,不顯示它。

你的表情似乎有點太複雜。根據你的標準,你只想排除行:

當日期是StartInMarketDate參數和起始日期 給出的是空...排除所有記錄中,其中StartInMarketDate場 NULL。

=IIF(NOT IsNothing(Parameters!StartInMarketDate.Value) AND IsNothing(Parameters!StartDate.Value) AND IsNothing(Fields!StartInMarketDate.Value), TRUE, FALSE) 

有沒有什麼地方要過濾其中StartInMarketDate日期字段的StartInMarketDate參數相匹配?

0

如果要使用表達式,請記住,您設置隱藏屬性,而不是一個可見的屬性。如果您查看外部IIF,您基本上已經說過,如果StartInMarketDate不爲空,那麼將Hidden設置爲False(顯示全部)。

基本上爲真=隱藏; False =顯示。

你可能只是需要更換所有的真/假左右。