2012-02-08 100 views
0

我在報告中顯示jobid。我希望如果工作ID是02,07.11,19,21,29,31,40等,那麼這些報告行將不會顯示。我知道如何隱藏寫表達式的行,但我只需要知道是否有任何捷徑說我的工作是02,07.11,19,21,29,31,40。Reporting Services - 根據報告參數值隱藏表格行

還是我在做類似= IIF(領域!JID.Value = 02或領域!JID.Value = 07或領域!JID.Value = 11或領域!JID.Value = 19,真,假)

是否有任何方式像= IIF(Fields!JID.Value in(02,07.11,19,21,29,31,40),True,False)

如果我發送作業ID作爲參數值發送來自呼叫環境如「02,07.11,19,21,29,31,40」,那麼如何去做。

請讓我通知。

回答

0

它是否適合您的目的在SQL中處理此問題?你有幾個選項...

  1. 選項1

    設置報表中的多值,字符串參數稱爲@JIDValues。 SQL sprocs不接受值的數組,因此您需要將它作爲字符串數組傳遞給您的存儲過程。爲了做到這一點,您需要在執行存儲過程的報告代碼中將您的值連接在一起。

    JOIN(Parameters!SiteGroupList.Value, ",") & "'"

    的存儲過程裏面(或者根據您的喜好報告),你將需要追加和前面加上逗號你的繩子,讓下面將用於在結束自己的價值觀工作,以及在中間的字符串。以下WHERE子句將能夠確定在傳遞給存儲區的逗號分隔字符串中是否包含特定的作業ID。

    WHERE @JIDValues LIKE '%,' + LTRIM(RTRIM(STR(tableA.JID))) + ',%'

  2. 選項2

    或者,如果這是一個靜態列表,你可以硬編碼您的存儲過程將它們排除在外。

+0

我想在報告級別做到這一點。您的第二個選項爲SProc,但您的第一個選項似乎是報告,但如何工作JOIN(參數!SiteGroupList.Value,「,」)以及放置此表達式的位置?如果我沒有發送作爲參數值逗號分隔的作業ID,那麼連接將添加更多的逗號....我只是不明白它是如何工作的基於逗號分隔值來隱藏行? plzz詳細討論 – Thomas 2012-02-09 06:09:42

+0

通過「隱藏行」你的意思是排除他們從你的結果一起嗎?如果不是,那麼你的意思是什麼? 我提交的解決方案都不嚴格處理報告。兩者都需要代表sproc的一些工作。我會修改我的答案,以更清楚地反映您的選擇。 – unforgiven1987 2012-02-09 13:11:43

+0

托馬斯,你有沒有運氣? – unforgiven1987 2012-02-16 21:24:23

相關問題