2017-10-17 191 views
0

我有一個使用3個數據集的報告,並在報告中使用了多個表格和文本框和表達式。當我運行報告時,我必須選擇一個參數,在本例中爲「城市」。SSRS每個選定的新頁面參數

我想每個城市(參數)的新的一頁,我已經閱讀使用分頁符和分組,但我選擇了一個列表從工具箱,把那我的報告的頂部,選擇2「城市」,並預計它返回2頁,但它返回49頁(大部分空白)

我想每個城市一個獨立的頁面我怎麼能做到這一點?

感謝

回答

0

如果我理解正確的話(這很難確定,如果你不發表您的當前設計),那麼你將使用子報表更好。

我假設城市是在你的數據庫中的表和每個具有唯一的ID。如果你只有名字,那麼你可以使用代替CityID,它仍然可以工作。

創建一份新報告。 創建新的數據集(比如dsSelectedCities和設定數據集查詢到類似...

SELECT CityID, CityName FROM myCitiesTable WHERE CityID IN (@CityParameter) 

這將自動生成一個名爲@CityParameter的報告參數,設置可用值等你在這個原始報表做的方式,因此,如果您需要添加其他數據集爲這個那麼這樣做。在這個例子中,我假定標籤將CityName和值將被CityID。無論進入價值是什麼將被傳遞給我們的報表。

現在添加一個表給你報告,它只需要一列寬和一行長,所以只需刪除任何其他r行和列只是確保你離開細節行而不是標題。

設定數據集表是dsSelectedCities

使這個剩餘的細胞與寬度足以容納子報表(這將是你最初寫的報告)。

在細胞中,插入一個子報表 設置報表屬性指向原始報表和參數設置爲CityID

此表將作爲一個循環,爲dsSelectedCities找到的每個記錄它會給我們一個排。由於每行將有一個CityID我們將其傳遞給子報表,子報表反過來只顯示一個城市。

設置的詳細信息組的分頁選項實例之間打破。

你可能不得不修改原來的報告,接受單個CityID,這取決於它是如何設計的,但希望這應該讓你去。

如果不清楚然後發佈當前報告的設計,包括有關參數的所有細節,我會更新的答案。

+0

嗨我會在報告中提出一個問題,我已經有了一個城市數據集。這些基本上是數據庫中的記錄。即使我正在爲新報告重新創建數據集,是否仍保留原始報告中的數據集? –

+0

我會建議您製作原始報告的副本,刪除與默認值或可用值相關的任何參數設置,然後查看數據集是否仍然需要。任何純粹用於填充參數的數據集幾乎肯定是多餘的,應該刪除,因爲這些只是無故減緩了報表處理速度。通過在城市參數中輸入CityID,您應該處於可以運行報告(子報表)的位置,併爲您提供單個城市所需的信息。 –

+0

我正在努力處理這個子報表。我提到了一個新的報告,並創建了一個包含cityname和cityid的數據集。在我設置了「允許多個值」的參數上,對於可用值,我選擇了數據集並選擇了cityname字段。在子報表參數上,我將該參數設置爲cityid字段。當我運行報告時,我得到'一個或多個參數沒有爲子報告指定'。有任何想法嗎? –