2012-02-02 220 views
2

我有一個SSRS報告,我將參數傳遞給。在基本報告中,數據區域顯示來自各種數據集的數據。一些數據集返回一行,如主數據集。其他人返回多行。SSRS報告結構

爲了解決這個問題,我一直在學習多個有價值的參數。但是,這份報告並沒有達到我預期的結果。例如,我想要關於記錄一和二的所有數據。我希望報告能給我關於記錄1的所有數據,然後再重複所有記錄2(新標題等)。但是,我的報告會產生全部記錄1,並且有多行將合併所有記錄1和2。

我是新來的SSRS,這是我會使用子報表?我將如何去顯示多個記錄?

回答

3

SSRS不會爲每條記錄重複整個報告。整個報告只顯示一次。

但是在該報告中將重複某些元素。特別是,表(tablix)或列表控件的詳細信息行將重複與表關聯的數據集中的項目數。

例如,假設您使用TextBox和Table創建了一個報表,然後將一個字段從數據集拖到文本框中,然後將另一個字段從數據集拖到表格的詳細信息行中。運行報告時,您將看到一次文本框,其中包含數據集中第一條記錄的信息。 (在文本框中,您將看到類似=FIRST(Fields!MyField.Value, "MyDataset")的東西)表格也只會出現一次,但它對於數據集的每一行都會有一行。

到您的具體問題:一種方式來獲得你正在尋找的結果是一個報表:

  1. 創建的目的是隻顯示你的記錄中的一個報告。它應該有一個參數來指示應該顯示哪條記錄。您可以在開發過程中自行運行此報告,以確保獲得您想要的結果。報告中的數據集應僅返回與參數中指定的記錄有關的數據。

  2. 一旦你得到了該報告的工作,創建一個「父母」的報告。這份報告可能有封面,或者幾乎沒有任何內容。它應該有一個數據集,用於返回報告中所需的所有記錄的ID。這些ID需要與子報告中的參數期望值相匹配。在父報告中,添加一個表格,並將該表格連接到您的數據集。在新表的一個單元格中,放置一個子報表。指定子報表的參數,以便將子報表參數的名稱連接到ID字段的值。

- 或 -

您在上面創建的報告的結構是初來乍到SSRS相當複雜。如果你想創建一個更簡單的結構,那麼你應該改變你的數據集。

將報告縮減爲一個數據集。將一條記錄的所有數據放入該數據集的一行,然後重複所需的行數以獲取需要顯示的記錄數。 (您可以使用其他數據集來填充參數。)如果某些內容難以進入單個數據集,可以使用Lookup函數檢查其他數據集。

在您的報告中,放置一張表格。進入這張桌子放置你的領域。如果您需要大量佈局選項,請將矩形放入該表格的一個單元格中,然後將該矩形變大。然後你可以根據需要放置文本框。但我建議您開始試驗,只需將字段拖放到表格中的單元格中即可。

+0

我能夠使用子報表完成此操作。我只是在解決方案時遇到了一些麻煩,但是您的解釋很好地描繪了這幅圖片。謝謝! – user1186256 2012-02-07 15:40:37