使用報表設計師設計 Reporting Services 分頁報表 (SSRS)

適用於: SQL Server (SQL Server 2016 (13.x) Reporting Services 與更新版本

您可以使用報表設計師建立完整功能的 SQL Server Reporting Services (SSRS) 分頁報表和報表解決方案。 報表設計師提供:

  • 定義資料來源、資料集和查詢的方法。
  • 設計及自訂資料區與欄位配置的功能。
  • 互動式功能,例如一起運作的參數和報表集。

報表設計師是 SQL Server Data Tools (SSDT) (建立商業智慧解決方案的 Microsoft Visual Studio 環境) 的功能。

安裝 SSDT

SSDT 未隨附於 SQL Server 中。 您需要另外安裝 SSDT。 如需指示,請參閱使用 Visual Studio 安裝 SDDT

若要使用報表設計師範本,您也需要安裝適用於 Visual Studio 的 SSRS 延伸模組。 如需指示,請參閱為 Analysis Services、Integration Services 和 Reporting Services 安裝延伸模組

報表專案的優點

在報表設計師中,您可以使用專案來組織報表。 報表專案是做為報表定義與資源的容器。 您可以將專案用於下列工作:

  • 組織一個容器中的報表和相關項目。
  • 測試包含本機報表及相關項目的報表方案。
  • 同時部署相關的項目。 你可以使用專案屬性和組態管理來將項目部署至多個環境中。
  • 保留一組報表和相關項目的主要副本,因為在部署之後,可能會不小心修改已發佈的報表。

您可以使用本文中的資訊,為 SSDT 解決方案中的單一報表專案設計分頁報表和相關項目。 如需 SSDT 中解決方案和多個專案的詳細資訊,請參閱 SQL Server Data Tools (SSDT) 中的 Reporting Services

共用的資料來源和資料集。

SSDT 提供一種方式來定義及部署報表解決方案的共享資料來源和共用資料集。

  • 若要獨立於專案中的其他項目部署共用資料來源,您可以使用 OverwriteDataSourcesTargetDataSourceFolder 屬性。
  • 若要獨立於專案中的其他項目部署共用資料集,您可以使用 OverwriteDatasetsTargetDatasetFolder 屬性。

如需詳細資訊,請參閱設定部署屬性 (Reporting Services)

在報表設計師中,您可以可在 [報表資料] 窗格和 [方案總管] 中工作,以定義在報表中使用的資料來源和共用資料集。 如需詳細資訊,請參閱報表資料窗格

如果資料來源發佈至報表伺服器或 SharePoint 網站,但未包含在 SSDT 解決方案中,您就無法使用 SSDT 開啟該資料來源。 同樣地,您也無法使用 SSDT 直接從報表伺服器或 SharePoint 網站開啟已發佈的資料集。 若要在這些案例中開啟資料來源或資料集,您可以使用 Report Builder。 如需詳細資訊,請參閱 Report Builder 撰寫環境 (SSRS)。 針對資料集,請在共用資料集模式中使用該環境。

SSDT 是用戶端工具。 其可讓您:

  • 在本機電腦上測試報告解決方案。
  • 將報告解決方案部署到測試環境,以測試您的伺服器解決方案。
  • 將您的報表解決方案部署到生產環境。
  • 使用 SSDT 查詢設計工具的預覽功能,有助於在本機建立和測試查詢結果。

部署之後:

如需更多關於在分頁報表中包含資料的資訊,請參閱在 Report Builder 中建立資料連接字串

分頁報表

分頁報表是儲存在報表專案中的檔案。 您可以使用分頁報表檔案作為獨立報表、子報表,或做為主要報表鑽研動作的目標。 若要獨立於專案中的其他專案部署報表,您可以使用 TargetReportFolder 屬性和其他屬性。 如需詳細資訊,請參閱設定部署屬性 (Reporting Services)

注意

如果以 SharePoint 模式發佈到報表伺服器,就無法在報表設計師專案中測試某些報表解決方案功能。 報表、子報表及鑽研報表的參考都必須使用僅可在部署報表專案後進行測試的完整 URL。 如需詳細資訊,請參閱報表伺服器上項目的網址範例 - SharePoint 模式

如果您在 Visual Studio 中安裝 SSRS 延伸模組,如先前在 SSDT 安裝中所述,您可就以使用報表伺服器專案範本來建立新的專案。 然後,您可以下列任何一種方式將報表新增至專案:

  • 使用報表精靈。 您會在逐步指引下建立報表。 [報表精靈] 會將資料定義與報表設計簡化成一連串的步驟,這些步驟可以產生完成的報表。 您可以加入樣式為您自己的組織自訂精靈。 如需詳細資訊,請參閱使用報表精靈新增報表

  • 加入類型報表的項目。 空白報表隨即會在報表設計師中開啟。 如需詳細資訊,請參閱新增空白報表

  • 加入現有項目。 現有的報表定義 (.rdl) 檔案隨即會在報表設計師中開啟。 在舊版 SSRS 中開啟報表或專案,可能會自動將專案升級成與目前版本,以及將報表升級成目前的結構描述。 如需詳細資訊,請參閱升級報表 (SSRS)

  • 匯入 Microsoft Access 報表。 匯入程序會從 Access 資料庫 (.mdb、.accdb) 或專案 (.adp) 檔案匯入所有報表。 報表設計師可將資料庫或專案檔案中的每份報表轉換為報表定義語言 (RDL),並將其儲存在報表專案中。 並非所有 Access 報表的功能都會傳送至報表定義 (.rdl) 檔案。 如需詳細資訊,請參閱從 Microsoft Access 匯入報表 (Reporting Services)

    注意

    您必須將 Access 2002 或更新版本安裝在安裝報表設計師的相同電腦上,才能使用此匯入功能。 匯入報表時,必須能夠使用 Access 報表的資料來源。

  • 直接在 RDL 檔案中工作。 報表會以 XML 格式儲存為 RDL 檔案。 您可以在報表設計師、文字編輯工具,或任何 XML 編輯器中編輯此檔案。

    當您在報表設計師中編輯報表定義來源時,您會在已安裝開發工具之 SQL Server 版本的目前 RDL 結構描述中工作。 建立專案時,結構描述版本可能會根據部署屬性進行變更。 如需詳細資訊,請參閱 SQL Server Data Tools (SSDT) 中的部署和版本支援

    直接編輯 RDL 可能會導致無法發行至報表伺服器或無法執行的報表。 與任何 XML 檔案一樣,請確保您正確編碼在元素中使用的 XML 特定字元。 當您發行報表時,報表伺服器會使用結構描述來驗證 RDL 檔案中的 XML。

    若要包含不屬於 RDL 結構描述的元素,請將其放置在自訂元素中。 自訂轉譯延伸模組可以讀取自訂元素。 但是,SSRS 提供的轉譯延伸模組會忽略元素。 例如,您可以使用自訂元素儲存報表中的註解。

    如需詳細資訊,請參閱報表定義語言 (SSRS)

報表組件

注意

在從 SQL Server Reporting Services 2019 開始的所有 SQL Server Reporting Services 版本,以及從 Power BI 報表伺服器 2022 年 9 月開始的所有 Power BI 報表伺服器版本中,報表組件皆已退場。

在報表設計師中,您可以在專案中建立資料表、圖表和其他分頁報表項目。 建立之後,您可以將這些內容以報表組件的形式發佈至報表伺服器或與報表伺服器整合的 SharePoint 網站。 此動作可讓您和其他人在其他報表中重複使用它們。 如需詳細資訊,請參閱報表設計師中的報表組件 (SSRS)

您可以使用 TargetReportPartFolder 屬性和其他屬性,獨立於專案中的其他項目部署報表元件。 如需詳細資訊,請參閱設定部署屬性 (Reporting Services)

資源

您可以將檔案加入與報表相關但不是由報表伺服器進行處理的專案。 例如,您可以新增影像,也可以新增環境系統研究協會 (ESRI) 形狀檔的空間資料。 如需詳細資訊,請參閱資源

分頁報表版面配置

若要建立報表配置,您可將報表項和資料區域從報表設計師工具箱拖曳到 Design Surface,然後進行排列。 將資料集欄位拖曳至 Design Surface 上的項目,即可將資料新增至報表。 若要在 Tablix 資料區中組織群組的資料,您可以將資料集欄位拖曳至 [群組] 窗格。 因為報表撰寫工具是建立報表定義很重要的方法,所以報表設定的方法在報表建立器和報表設計師中很類似。

預覽分頁報表

您可以使用預覽檢視驗證報表資料和配置設計。 預覽報表時,報表處理器會驗證報表定義結構描述和運算式語法。 它也會列出 [輸出] 視窗中的問題。

注意

預覽報表時,報表的資料會快取至本機電腦上的檔案。 當您再次預覽同一份報表時 (使用相同的查詢、參數和認證),報表設計師會擷取快取複本,而非重新執行查詢。 資料檔案會在與報表定義檔案相同的目錄中儲存為 <report-name>.rdl.data。 您關閉報表設計師時,不會刪除此檔案。

您可以利用下列方式預覽報表。

  • 預覽檢視。 如果您選取 [預覽] 索引標籤,報表會在本機執行。 它會使用報表伺服器所提供的相同報表處理和轉譯功能。 顯示的報表是互動式影像。 您可以選取參數、選取連結、檢視文件引導模式,以及展開和摺疊報表的隱藏區域。 您也可以將報表匯出至任何已安裝的轉譯格式。

  • 獨立預覽。 您可以在瀏覽器中執行本機報表。 透過使用偵錯組態,您也可以使用此模式以偵錯所撰寫的自訂組件。 有三種方法可在偵錯模式中執行專案:

    • 在 [偵錯] 功能表上,您可以選取 [開始偵錯]
    • 在 Visual Studio 標準工具列上,您可以選取 [開始] 按鈕。
    • 您可以選取 [F5]

    如果您使用建立報表但是未部署報表的專案組態,則在目前組態之 StartItem 屬性中所指定的報表,會在另一個預覽視窗中開啟。

    注意

    您必須設定啟動項目,才能使用偵錯模式。 若要設定起始項目,請移至 [方案總管],以滑鼠右鍵按一下報表專案,然後選取 [屬性]。 然後在 StartItem 中,選取要顯示的報表名稱。

    如果您想要預覽不是專案的起始項目的特定報表,您可以選取建置報表但不部署的組態。 例如,您可以使用 DebugLocal 組態。 然後,以滑鼠右鍵按一下報表,然後選取 [執行]。 您必須選取未部署報表的組態。 否則,報表不會發佈至報表伺服器,而非在本機的預覽視窗中顯示。

  • 預覽列印。 當您第一次以 [預覽] 模式或在 [預覽] 視窗中檢視報表時,報表的檢視方式類似 HTML 轉譯延伸模組所產生的報表。 這個預覽並不是 HTML,不過報表的配置及分頁與 HTML 的輸出相似。

    您可以切換到預覽列印模式,以變更檢視來顯示列印的報表。 當您在 [預覽] 工具列上選取 [列印預覽] 時,報表會顯示為實體頁面上的報表。 此檢視與影像和 PDF 轉譯延伸模組所產生的輸出相似。 預覽列印並不是影像或 PDF 檔案,但報表的配置及分頁方式與這些格式的輸出相似。 您可以選擇報表影像的大小,例如,設定頁面的寬度。

    列印預覽可協助您識別可能會在列印報表時遇到的轉譯問題。 常見的轉譯問題包括:

    • 額外的空白頁面是由於報表對於您針對報表指定的紙張大小太寬。
    • 額外的空白頁面是由於報表包含動態展開以至於超出指定紙張寬度的矩陣。
    • 群組之間的分頁符號未能依照您希望的方式運作。
    • 與預期不符的頁首和頁尾。
    • 需要修改的報表配置,以便在列印格式中呈現更佳效果。

儲存並部署分頁報表

在報表設計師中,您可以本機儲存報表和其他專案檔案,或將它們部署至報表伺服器或 SharePoint 網站。 您可以根據所設定的部署屬性,獨立或同時部署共用資料來源、共用資料集、報表、報表資源及報表組件。 如需詳細資訊,請參閱組態與部署屬性

在報表設計師中,您可使用 SSDT 中 SSRS 目前版本支援的報表定義結構描述來設計報表。 您可以為特定報表伺服器或 SharePoint 網站設定專案部署屬性。 當您儲存報表時,報表設計師會將報表定義儲存至結構描述 (與目標報表伺服器上的版本相符) 中的組建目錄。 若要建立可在使用較早版本 SSRS 的報表伺服器上發佈的報表,報表設計師會捨棄目標結構描述中不存在的報表項目。 這個動作會自動發生,而不需要提示。 當此動作發生時,原始的報表定義會保留在專案資料夾中。 報表設計師部署的修改後的報表定義在建立資料夾中。

注意

針對偵錯運算式和部署錯誤,您必須檢視組建資料夾中的報表定義。 請勿在報表檔案的快速鍵選單上使用 [檢視程式碼],在此案例中檢視報表定義。 當您選取 [檢視程式碼] 時,會從專案資料夾開啟報表定義來源。

如需詳細資訊,請參閱 SQL Server Data Tools (SSDT) 中的部署和版本支援

在本機儲存報表

當您在報表設計師中處理報表或其他專案項目時,檔案會儲存至本機電腦或在其他您擁有其存取權的電腦上進行檔案共用。

如果您使用原始檔控制軟體,儲存報表的動作可能會將其檢查到原始檔控制伺服器。 如需詳細資訊,請參閱原始檔控制

部署或發佈分頁報表

從 SSDT,您可以將報表或其他專案項目部署到多個版本的 SSRS 報表伺服器。 使用專案組態可控制升級至與目標報表伺服器相容之結構描述版本的報表定義。 專案組態可控制某些屬性,包括目標報表伺服器、建立程序暫時儲存預覽和部署用報表定義的資料夾,以及錯誤等級。 如需詳細資訊,請參閱組態和部署屬性設定部署屬性 (Reporting Services)

將分頁報表匯出至不同的檔案格式

報表可以匯出成各種格式。 這些格式會影響某些報表排配置和互動功能的運作方式。 如需各種輸出格式的設計考量,請參閱匯出分頁報表 (Report Builder)

報表驗證和錯誤等級

預覽前和部署期間,將會驗證報表。 建置報表時,可能會發生許多問題。 例如,報表可能包含與專案組態所指定的 SSRS 版本不相容的字串 (如運算式或查詢)。

使用 ErrorLevel 屬性管理建立警告與錯誤。 您可以為 ErrorLevel 屬性指派 0 至 4 (含 4) 的值。 這個值會判斷回報為錯誤的建立問題,以及回報為警告的建立問題。 預設值為 2。 警告和錯誤會寫入 SSDT [輸出] 視窗。

嚴重性層級小於或等於 ErrorLevel 值的問題會回報為錯誤。 其他問題會回報為警告。

下表列出這些錯誤層級。

錯誤層級 說明
0 最嚴重的建立問題會妨礙報表的預覽與部署
1 嚴重的建立問題,這些問題會徹底變更報表配置
2 較不嚴重的建立問題,這些問題會大幅變更報表配置
3 輕微的建立問題,這些問題會以可能不會注意到的次要方式變更報表配置
4 發佈問題的警告

您可以嘗試預覽或部署包含 SSRS 版本不支援之報表項目的報表。 但是,這些報表項目有時會從報表中移除,並發出層級 2 錯誤。 如果您的 ErrorLevel 屬性設定為預設值 2,則在此情況下,建置會失敗。

您可以將值變更 ErrorLevel 為 0 或 1,以解決此問題。 然後在捨棄專案時,就會發出警告,並繼續進行建置程序。