簡體   English   中英

SSRS-用於參數中傳遞的多個值的多個Tablix

[英]SSRS - Multiple tablix for multiple values passed in parameter

因此,幾天前,我在這里發布了一個問題其中我有一個@Sem_ID參數,並且我必須傳遞多個由分隔符分隔的ID。 我找到了解決方案,但是只有當我有一個數據集時它才起作用。 現在的問題是我的報表包含3個Tablix和3個數據集,每個Tablix都有一個數據集。

我嘗試了什么:我創建了一個tablix,並在行內插入了一個矩形元素。 我在矩形內移動了一個網格,然后嘗試運行該報告,但是在預覽時收到了SSRS錯誤: 文本框'Textbox10'的Value表達式引用了字段'Kondition'。 報表項表達式只能引用當前數據集范圍內的字段,或者如果引用了集合,則引用指定的數據集范圍內的字段。 字段名稱中的字母必須使用正確的大小寫。

例如,這兩個查詢中的每一個代表一個數據集,因此兩個數據集:

SELECT Sem_ID, Sem_KW, Sem_Jahr, Sem_SemNrKata, Sem_von, Sem_bis, h.chr_name, h.chr_ort
FROM acc_seminar.t_Seminar
JOIN dbo.tbl_hotel h ON Sem_Ht_ID=h.pk_hotel
WHERE Sem_ID IN (SELECT value  
FROM fn_Split(@Sem_ID, ';')  
WHERE RTRIM(value) <> '') AND (Sem_SemTh_ID != 76 AND Sem_Sto = 0)

和第二個數據集:

SELECT tu.TU_Name AS Name, tu.TU_Vorname AS Vorname, ParkgebuehrBrutto AS Preis
FROM acc_seminar.t_Teiluber_Ext tux
JOIN acc_seminar.t_Teiluber tu ON tux.TeiluberId = tu.TU_ID
JOIN acc_seminar.t_Seminar s ON tu.TU_Sem_ID = s.Sem_ID WHERE s.Sem_ID IN (SELECT value  
FROM fn_Split(@Sem_ID, ';')  
WHERE RTRIM(value) <> '')  AND ParkgebuehrBrutto IS NOT NULL

因此,如果我通過@Sem_Id = 123; 456,那么我該如何顯示兩個網格分別用於Id = 123和Id = 456?

很少觀察到:您不能將Dataset1的另一個Tablix移動到Tablix(矩形)Dataset2。 他們是不同的。 您可以使用SubReport,其中在Tablix 1內有使用Dataset2並顯示其數據的SubReport。 第二:

您的用例可以通過子報表很好地解決。 怎么樣?? 將您的Sem_ID作為參數傳遞給SubReport,前提是您的Dataset2(子報表)確實包含Sem_Id字段。

很少有幫助的鏈接http://t-xie.net/2016/05/17/ssrs-pass-multiple-value-parameter-to-sub-report/ https://docs.microsoft.com/en-us/以前的版本/ SQL / SQL服務器-2008-R2 / dd220581(v = SQL.105)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM