2014-03-26 154 views
2

下面是我的tablix /矩陣的一個例子,以及應該發生什麼的一些例子。我在第二個報告設置中的參數接受值,並在主報告中選擇了它應該通過的字段。由於它是一個矩陣和分組,我想如果你點擊一個子總行,它會知道哪些值與該行相關。將參數從主報告傳遞到子報告

enter image description here

下面的例子,它定義應該發生什麼:

1.當我點擊單元格B3(USA),它會通過位置命名,即美國和客戶名稱,即ABC作爲參數傳遞給子報告。

2)。當我點擊單元格B5(即小計)時,它會發送兩個位置,即美國,迪拜和客戶名稱,即abc作爲子報表的參數。 3)。當我點擊單元格B10(即總計)時,它會將所有客戶名稱及其各自的位置作爲參數發送給子報表。

謝謝你

+0

如果您點擊B4,該怎麼辦? – KrazzyNefarious

+0

那麼它應該傳遞位置名稱即迪拜和客戶名稱,即ABC作爲子報告的參數。 – John

+1

這被標記爲'ssrs-2008'和'ssrs-2008-r2' - 哪個具體版本是? –

回答

4

這就是我該怎麼做的。對於小計鏈接,請爲位置參數傳遞「ALL」,併爲客戶參數傳遞=Fields!.Customer.Value。對於Grand Total鏈接,爲兩個參數傳遞「ALL」。然後更新您的子報表查詢Where條款:

Where 
    (Customer = @Customer or @Customer = 'ALL') 
    and (Location = @Location or @Location = 'ALL') 

這將返回所有客戶/位置記錄時,相應的參數設置爲「全部」。

讓我知道你是否需要更多的細節。

+0

感謝您的回覆,我如何識別SSRS,無論單元格B4是包含位置值「USA」還是「Dubai」,以便我可以將該值傳遞給子報表。 – John

+0

通過'= Fields!Location.Value'(或任何您的字段名稱作爲位置)作爲位置參數,當用戶單擊美國時它將通過USA,當用戶單擊迪拜時它將通過迪拜。 –

2

我不認爲你可以單獨使用SSRS來實現你想要的例子2和3。

我會派生數據集中的新列以容納您要傳遞的連接參數字符串。對於您的示例2,此列可能被稱爲Customer_Locations並保留「USA | Dubai」的值。我會使用子報表參數定義中的SSRS Split函數將該值傳遞給子報表中的多值參數。重要的是選定的分隔符不會出現在可能的位置值中。

對於該客戶的所有行,在數據集的每一行中都會重複相同的值。

例如3,我會再添加2個例如Customer_Locations_Grand_Total =「USA | Dubai」和Customers_Grand_Total =「ABC | CDE」。這些相同的值將重複所有行。

+0

感謝您的回覆先生,我會檢查這一點,並回復給您。 – John

相關問題