2016-01-20 58 views
0

我有4個多值參數的一個報告,其中值填充基於被從第一參數選擇的值:SSRS當沒有值查詢報告參數能見度

實施例:@Param1 = Forest, @Param2 = Lake , @Param3 = Fish

根據所選值,最後一個參數可能沒有值。

實施例:@Param1 = Desert, @Param2 = Sand, @Param3 = Null (Empty)

在這種情況下,具有在報告服務@param3可見只是顯示一個空參數框,並且用戶開始懷疑是否有丟失的數據等。

我該如何讓空的@Param3在t-sql代碼中獲得某種禁用?

這是@參數3查詢:

SELECT DISTINCT Column3 
FROM TABLE 
WHERE Column1 = (@param1) AND 
Column2 = (@param2) 
ORDER BY Column3 

主要集查詢有此斷言:

FROM TABLE 
WHERE (Column1 = (@param1) or (@param1) is not null) AND 
     Column2 = (@param2) or (@param2) is not null) 
     AND (Column3 IN (@Param3) OR (@Param3) !='') AND 
(Column4 IN (@param4)) OR (@param4 !='') 
ORDER BY Month 

+0

我們不是盲目的,至少不是我們所有的人...... – jarlh

+0

不要忘記,不要盲目而不好笑......但是有這樣的評論的其他論壇不要忘記,要麼。 – Hankman3000

+0

在沒有這些'#'的情況下對你的文章進行格式化,閱讀起來會容易得多。不要讓它很難幫助你。 – jarlh

回答

1

嘗試增加一個「虛擬」的價值,您的腳本,只有它返回時,有沒有其他可用的值:

SELECT DISTINCT Column3 
FROM TABLE 
WHERE 
    Column1 = (@param1) AND 
    Column2 = (@param2) 
UNION ALL 
SELECT 'No Value Needed' 
WHERE NOT EXISTS 
    (
    SELECT 1 
    FROM TABLE 
    WHERE 
     Column1 = (@param1) AND 
     Column2 = (@param2) 
) 
ORDER BY Column3 
+0

嗨@亨裏克如果這個或任何答案已經解決了你的問題,請考慮[接受它](http://meta.stackexchange.com/q/5234/ 179419)通過點擊複選標記。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。 – AHiggins

+0

HI @ Ahiggins實際上並沒有解決問題,但我喜歡它,它解決了一半,仍然給出了錯誤,該參數丟失。 – Hankman3000