1

當前有三個子報表,一個主報表。將ssrs參數中的多個值發送到子報表

主報告有兩個參數 - SELECTDATEEMP_ID。主報告將Order_Nbr發送到所有子報告。

當我僅選擇1個員工和1個日期時,所有子報表都能正常工作,但如果我選擇多個值,則報錯。

SQL將該列作爲INT。我在主報告和子報告中都有參數,SELECTDATE被設置爲具有多值的文本,並且EMP_ID被設置爲具有多值的整數。我的查詢有我的日期IN(@SELECTDATE)和emp_id IN(@EMP_ID)。

它顯然發送正確的信息到子報表,因爲它的工作原理,但我希望它能夠傳遞更多的值。喜歡當前檢查和取消選中員工和月底日期的能力,就像當前在我的查詢中使用IN函數設置的那樣。

回答

4

使您的子報告中的參數非多值,刪除任何'可用值'集。 從您使用join方法父報表傳遞多值參數是一個字符串

=Join(Parameters!Emp_ID,",") 

的EMP_ID參數將被設置爲一個逗號分隔的列表,這是一個多值參數發送到查詢

我我不確定這是如何與文本查詢一起工作的,但它適用於存儲過程。

如果子報告也被用來作爲一個獨立的報告,你將需要添加一個新的參數,以允許用戶發送參數值從參數@emp_id用戶可以設置

0

我猜你有不要將子報告中的參數設置爲多選。如果您已將子報表中的參數設置爲多選,則可以將主報表中的參數按原樣發送到子報表。更多詳情請見here