2017-10-09 108 views
0

新來這個世界,所以尋找幫助,我認爲將是一個簡單的事情來解決,但是我和那個正在訓練我所有的SQL和SSRS的人不能這個數字出SSRS下拉'任何'價值不工作

我有內SSRS和SQL這是可以正常使用的報告扎一件事

我有一個下拉列表參數,它具有所有的客戶名稱,報告顯示的是什麼客戶獲得如此卷遠遠等等,對於個人客戶來說,這是完美的。然而,當試圖通過從下拉列表中選擇'任何'來查看總卷時,它不返回任何數據,而不是返回所有內容

任何人都可以請告訴我可能在這裏丟失什麼,或者我需要顯示什麼你能幫助解決這個問題

乾杯

利亞姆

+0

可能有幾種方法可以解決這個問題,但我們需要更多的細節。您的數據集是使用Stored Proc還是直接在數據集中查詢?您目前如何過濾到單個客戶端?過濾是在數據集過濾器中完成還是直接在查詢中完成?一旦我有這些細節,我可以給你一個正確的答案。 –

+0

謝謝艾倫!我非常感謝這一點,我正在使用一個存儲過程,並且正在使用具有下拉列表的參數進行過濾。過濾是通過使用參數過濾存儲過程中的數據集中的數據完成的,然後在SSRS中顯示 –

回答

1

假設你存儲過程的參數爲varchar且代表客戶的名稱或「任意」值,那麼以下的應該工作。

SELECT myField1, myField2 -- etc 
FROM myTable t 
WHERE (t.ClientName = @myParameterName OR @myParameterName = 'Any') 

可選請注意:我個人不使用的SP,通常只是把代碼獲取數據集中的數據。有些公司不喜歡你這樣做,但如果你能做到這一點,我認爲這會讓生活更輕鬆。

如果您可以將存儲的proc代碼直接放入數據集查詢中,那麼您可以使報表更加靈活。你可以改變你的參數是多值,你並不需要,並添加到您的參數列表是「任何」值,然後你可以簡單地這樣做

SELECT myField1, myField2 -- etc 
FROM myTable t 
WHERE t.ClientName IN(@myParameterName) 

SSRS將採取所有選定的參數值,注入他們到正確的數據集查詢,所以沒有什麼你需要做的。 SSRS還會爲您的參數添加一個「全選」選項,以防您想要爲所有內容創建數據。該報告將適用於1,2,10或所有客戶名稱。

+0

感謝您的Alan。這工作。我確實有參數作爲 \t \t \t \t 'AND(([ParentName] = '@Organization)OR '@Organization =' NULL')(忽略引號中的前 '@' 符號,因爲它止跌'不要讓我發帖),理論上應該這樣做,因爲這在我的所有同事數據中都有效,而不是在我用於我的時候。所以謝謝你在這裏的幫助,它節省了大量的頭部劃傷 –

+0

不客氣。如果您對答案感到滿意,請將其標記爲已接受。它可以幫助其他人在尋找類似問題時找到解決方案,並將其列爲回答。哦,當在評論中發佈代碼或類似內容時,你可以通過反向鍵(通常是鍵盤上的左上角鍵)圍繞文本(或者其他所謂的內容)'like @ this' –

+0

我當然試過並且投了票,但是因爲我相對較新,它不允許我做任何事情,直到我的「聲望」顯現出來,顯然 –