2013-07-26 246 views
0

我有2個表二者均具有列「countyID」SSRS傳遞參數給子報表

我有一個基於類似的查詢帶來了報告的主報告:

SELECT countyID, name, address, state 
FROM TableA 

---我在TableA上有一個參數集,您可以在其中選擇Name來查看其報告。

然後我有一個基於像查詢了第二份報告:

SELECT * 
FROM TableB 

我想用第二報表作爲子報表,如,當您選擇名稱爲頂級報告,應然後列表來自TableB的所有記錄都具有相同的CountyID。

有沒有辦法將縣ID設置爲參數,然後將其傳遞給子報表?通過這種方式,子報表總是隻將具有匹配的縣ID的記錄返回到主報表的當前選定記錄。

+0

[SSRS循環報告和子報告]可能的重複(http://stackoverflow.com/questions/17888709/ssrs-loop-for-report-and-subreport) –

+0

TableB查詢是否返回相同數量和類型的TableA做的那些行? – TTUGecko

回答

1

我假設你已經創建了一個下拉@Name參數加載到你用於TableA的DataSet中。你已經配置了此參數從您的TableA的數據集,可能使用類似於查詢的名稱字段中指定其值:

SELECT CountyID, Name, Address, State 
FROM TableA 
WHERE Name = @Name 

你會那麼需要創建另一個參數來存儲來自相關CountyID值數據集,例如@CountyID。將其設置爲「隱藏」。對於「可用值」和「默認值」,將其指向同一個TableA DataSet,但使用CountyID字段作爲其值/標籤。

然後您需要將@CountyID參數傳遞到您的子報表中。此表矩陣的數據集應該是,像你這樣的概括:

SELECT * 
FROM TableB 
WHERE CountyID = @CountyID 

你確定你使用的是報表對於這一點,而不是其他表矩陣?原因是,如果您使用的是子報表,則需要打開子報表對象並在其上創建@CountyID參數,假設這是TableB DataSet所在的位置。將其設置爲隱藏,但不要擔心設置任何值,因爲它會從主報告中收到。

最後,再回到原來的主報告,在您拖到您的報告的身體報表框中單擊鼠標右鍵,選擇屬性>參數>設置名稱CountyID,和值作爲[@ CountyID]

* *注:在SSRS中,參數具有區分大小寫的煩人特性。在報告開發中儘早記住這一點總是好事。

+1

感謝這工作完美 –

相關問題