轉譯編頁報表中的報表項目 (報表產生器)

適用於: Microsoft 報表產生器 (SSRS) Power BI 報表產生器 SQL Server Data Tools 中的報表設計師

編頁報表項目的數目、大小和位置會影響轉譯器為報表主體分頁的方式。 下列是如何轉譯各種報表項目的描述。

注意

您可以在 Microsoft 報表產生器、Power BI 報表產生器,以及 SQL Server Data Tools 的報表設計師中,建立和修改編頁報表定義 (.rdl) 檔案。

重疊的報表項目

在 HTML、MHTML、Word、Excel、[預覽] 或「報表檢視器」中不支援重疊的報表項目。 如果有重疊的項目,它們會移動。 下列規則適用於重疊的報表項目:

  • 如果報表項目的垂直重疊較大,系統會將其中一個重疊項目移到右側。 最左邊的項目則維持在所在的位置。

  • 如果報表項目的水平重疊較大,系統會將其中一個重疊項目移到下方。 最上面的項目則維持在所在的位置。

  • 如果垂直重疊與水平重疊相等,系統會將其中一個重疊項目移到右側。 最左邊的項目則維持在所在的位置。

  • 如果必須移動項目來更正重疊,相鄰的報表項目會向下和/或向右移動,以維持該項目與其上方和/或左方之報表項目之間的最小間距。 例如,假設有兩個報表項目垂直重疊,而第三個報表項目與右側的報表項目距離 2 英吋。 當重疊的報表項目向右移動時,第三個報表項目也會向右移動,才能讓本身與其左側的報表項目維持 2 英吋的距離。

手動分頁符號格式支援重疊的報表項目,包括列印。

可見性與報表項目

根據預設,系統可以隱藏或顯示報表項目,會使用運算式有條件地隱藏或顯示。 或者,您可以按一下其他報表項目來切換可見性。

轉譯報表項目時,可以使用下列可見性規則:

  • 如果報表項目及其內容永遠是隱藏的 (根據運算式,該報表項目不是隱藏的,或其可見性無法透過按一下其他報表項目切換),則其右方或下方的其他報表項目就不會移動,也不會填滿空的空間。 例如,如果矩形及其中的影像是隱藏的,矩形右側開始的報表項目就不會移到左側,也不會填滿看似空的空間。 而矩形佔用的空間則會保留。

  • 如果報表項目及其內容是有條件隱藏的 (根據運算式,該報表項目是隱藏的,或其可見性可透過按一下其他報表項目切換),則其右方或下方的報表項目就會移動到左側,來填滿隱藏項目時的空間。

  • 如果報表項目及其內容的可見性可以透過按一下其他報表項目切換,則分頁會變更,只在一開始顯示報表項目時,容納報表項目及其內容。

讓報表項目在單一頁面上保持在一起

您可以設定保持群組或保持在一起屬性,在單一頁面上以隱含或明確的方式,讓報表內的許多報表項目保持在一起。 如果報表項目沒有任何邏輯分頁符號,而且在尺寸上小於可用的頁面區域,則永遠會在相同的頁面上轉譯報表項目。 如果報表項目無法完全容納在通常報表一開始的頁面上,就會在報表項目前插入一個手動分頁符號,強制該報表項目移到下一頁。 若是軟分頁符號轉譯器,頁面則會擴張,以容納報表項目。

當報表項目永遠呈隱藏狀態時,就會忽略將項目保持在一起的規則。

下列項目會永遠保持在一起:

  • 影像。

  • 線條:

  • 圖表、量測計和對應。

  • 資料區域中的單一資料列,選取保持群組選項時,該資料列會單獨出現在另一個頁面上。 這樣會將單一資料列與群組的至少一個執行個體隱含的保持在一起,讓該資料列不會遭到遺棄。 您可以在資料區域或群組上設定這個選項。

  • 資料區域的頁首區域。

  • 資料區的頁首區域以及資料的第一個資料列。

  • 在 Tablix 資料區中可以切換的報表項目。

優先順序

由於頁面大小的限制,讓報表項目保持在一起的規則之間可能會發生衝突。 當衝突發生時,系統會使用下列優先順序,以便在轉譯時讓項目保持在一起:

  • 線條、圖表和影像。

  • 段落遺留字串控制。

  • 重複的資料行標頭和資料列標頭。

    頁首優先於頁尾。 內部重複的群組優先於外部群組。 設定 RepeatWith 屬性的項目中,與目標資料區域較近的項目優先於與資料區域較遠的項目。

  • 文字方塊或矩形之類的小型報表項目,其明確的 KeepTogether 屬性設定為 true

  • 子報表或非最內部的 Tablix 成員之類的大型報表項目,其明確的 KeepTogether 屬性設定為 true

  • Tablix 資料區,其明確的 KeepTogether 屬性設定為 true

子報表

子報表會轉譯為包含在個別報表 .rdl 檔案中定義之其他報表的矩形。 子報表檔案必須先發行到報表伺服器上,父報表才能進行存取。

轉譯子報表時,適用下列規則:

  • 子報表可以擴張到定義子報表之 .rdl 檔案中所定義的主體大小。 例如,如果子報表的 RDL 指出子報表主體的寬度為 5 英吋,則子報表在父報表內的寬度為 5 英吋。

  • 子報表會從父報表繼承資料行設定。 而原始 RDL 中定義的資料行設定永遠會遭到忽略。

  • 系統只會轉譯子報表的主體。 在父報表中轉譯子報表時,不會轉譯在子報表 .rdl 檔案中所定義的頁首和頁尾區段。

  • 子報表擁有一個明確的 KeepTogether 屬性。 當該屬性設定為 true時,子報表中的所有項目在單一頁面中都會盡可能保持在一起。

  • 如果子報表無法執行,就會在報表中顯示為包含錯誤訊息的文字方塊。 套用到子報表的樣式屬性會改為套用到文字方塊。

  • 如果透過分頁符號分割子報表, [省略分頁符號上的框線] 設定會控制子報表上的框線是封閉的還是開放的。

如需子報表的詳細資訊,請參閱子報表 (報表產生器及 SSRS)

另請參閱

Reporting Services 中的分頁 (報表產生器與 SSRS)
轉譯行為 (報表產生器及 SSRS)
不同報表轉譯延伸模組的互動式功能 (報表產生器及 SSRS)
資料表、矩陣和清單 (報表產生器及 SSRS)