2012-09-13 64 views
2

我的應用程序使用SSRS爲員工製作薪資單。薪資單報表由5列的表格組成。其中5個是名爲「單位」的列和另一個名爲「發票價值」的列。SSRS。根據行組值隱藏列

該報告具有多個行分組級別,但是對於此問題唯一重要的是薪資單行號分組「RG_SlipNum」。每個「RG_SlipNum」RowGroup後都有一個分頁符。

當用戶想要打印薪資單時,他們可以選擇提供最多5個參數,以過濾要打印的結果集。

員工可以根據交付單位的數量*費率(單位爲基礎)或發票價值(基於發票)的百分比來支付(過於簡單,但希望您獲得我的偏差)。

如果員工是基於單位的,我希望顯示單位列,並隱藏「發票值」列。如果他們是基於發票的,我希望這兩列顯示。

我的數據集有一個位域,指示根據上述邏輯是否顯示或隱藏列。對於當前rowGroup中的每個基礎行,它將是1或0。我試圖在「發票值」列的列可視性表達式中使用第一個(,)函數。但是,每當我嘗試使用RowGroup名稱將第一個函數的範圍限制到當前薪資單行組時,我都會收到以下錯誤。

「Tablix'X'的隱藏表達式有一個範圍參數,它對集合函數無效,scope參數必須設置爲一個字符串常量,該常量等於包含的組的名稱,一個包含數據區域的名稱或數據集的名稱。「

所以,我的問題(S)

你能定義一個RowGroup名稱作爲第一個()函數的範圍參數?

如果不是,如果沒有完全重新操作我的數據集/ RDL來完成此操作,實現此目的的最佳方式是什麼?(使用SSRS2008)

回答

1

爲什麼總是在發佈論壇問題後,您將它(或某種解決方法)計算出來?

如果有人看到這個問題,我還是會喜歡一些(更好的)答案,但我已經在tablix中設置了一個單元格來確定是否顯示列。然後我改變了我的Column Visibility表達式來檢查單元格值(使用ReportItems!textboxname.Value)並且它正在工作。當我滾動工資單時,列可見性會相應更改。

+0

雖然這在瀏覽器中查看時有效,但在打印工資單時,我的打印輸出與屏幕上顯示的不同。 (即列可視性不同) – psiberman