SQL Server Data Tools 中的 Reporting Services (SSDT)

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

SQL Server Data Tools (SSDT) 是建立商業智慧解決方案的 Microsoft Visual Studio 環境。 SSDT 具有 報表設計師 撰寫環境。 您可以使用報表設計師來開啟、修改、預覽、儲存及部署 SQL Server Reporting Services (SSRS) 分頁報表定義、共用資料來源、共用資料集和報表組件。

注意

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

本文說明您用於 SSRS 的 SSDT 解決方案、專案、專案範本和組態。 它也描述您可以在「報表設計師」中使用的檢視、功能表、工具列和捷徑。

安裝 SSDT

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

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

若要開始設計報表,請參閱使用報表設計師設計 Reporting Services 分頁報表 (SSRS)

方案和專案

報表專案是做為報表定義與資源的容器。 部署專案時,報表專案中的每一個檔案都會發行至報表伺服器。 當您第一次建立專案時,同時也會建立該專案的方案,以做為專案的容器。 您可以將多個專案加入單一方案。

組態

若要為企業、測試和生產報表伺服器等部署變化建立多組專案屬性,您可以使用 Visual Studio 中的 Configuration Manager 功能。 如需詳細資訊,請參閱 SQL Server Data Tools (SSRS) 中的部署和版本支援

報表伺服器專案

當您安裝適用於 Visual Studio 的 SSRS 延伸模組時,如之前 SSDT 安裝中所述,SSDT 中會提供下列專案範本:

  • 報表伺服器專案。 使用報表伺服器專案範本時,就會開啟報表設計師。 您可以在 [建立新專案] 對話方塊中找到此商業智慧項目專案範本。 如需詳細資訊,請參閱建立報表伺服器專案

    報表伺服器專案屬性會套用至 SSDT 專案中的所有報表和所有共用資料來源。 這些屬性包括報表伺服器的 URL 以及報表和共用資料來源的資料夾名稱。 您可以使用 [專案屬性頁面] 對話方塊可檢視目前的屬性值。 若要開啟此對話方塊,您可以移至 [專案] 功能表,然後選取 [屬性]

  • 報表伺服器專案精靈。 使用報表伺服器精靈專案範本時,就會自動建立報表伺服器專案,並開啟報表精靈。 在精靈中,您可以依照每個頁面上的指令來建立報表。 指示說明如何:

    • 建立連接字串至資料來源。
    • 設定資料來源認證。
    • 設計查詢。
    • 新增資料表或矩陣資料區域。
    • 指定報表資料和群組。
    • 挑選字型和色彩樣式。
    • 將報表儲存至報表伺服器。
    • 在本機預覽報表。

    當您使用精靈建立報表之後,您可以在報表伺服器專案中使用報表設計師來變更報表資料和報表設計。

報表設計師視窗和窗格

報表設計師提供多個視窗和窗格,以協助您設計報表和檢視轉譯的報表。

報表資料窗格

[報表資料] 窗格會顯示可在報表中使用的資料物件。

若要開啟 [報表資料] 窗格,請將焦點移至設計區域。 然後在 [檢視] 功能表上,選取 [報表資料]

[報表資料] 窗格提供下列類型的物件:

  • 內建欄位。 這些欄位包含預先定義的報表資訊,例如報表名稱或報表處理時間。
  • 資料來源。 資料來源代表資料來源的名稱和連線資訊。
  • 資料集。 每個資料集都會包含指定要從資料來源中擷取哪些資料的查詢。 您可以展開資料集,以便檢視資料集查詢所指定的欄位集合。 在多維度資料集的某些查詢設計工具中,您可以在 [篩選] 窗格中指定篩選,然後指出是否要建立報表參數。 若您指定報表參數選項,系統就會自動建立特殊資料集,以填入參數的有效值清單。 根據預設,此資料集不會出現在 [報表資料] 窗格內。 如需詳細資訊,請參閱顯示參數值的隱藏資料集 - 多維度資料
  • 報表參數。 您可以手動建立報表參數,或在資料集查詢包含查詢參數時自動建立報表參數。
  • 影像 此清單中的影像可作為影像報告項目包含在報表中。

[報表資料] 窗格中的資料來源和資料集代表報表定義中的元素。 [報表資料] 窗格是多個報表撰寫環境所支援的功能。

  • 在報表產生器中,這是唯一可用於管理資料來源和資料集的窗格。
  • 在 [報表設計師] 中,[報表資料] 窗格是與 [方案總管] 搭配使用,而後者會將共用資料來源和共用資料集列出為檔案。 [報表資料] 窗格中的共用資料來源和共用資料集,必須指向它們在 [方案總管] 中的對應「共用資料來源」和「共用資料集」。 之後,[報表資料] 窗格元素就會包含 [方案總管] 中資料檔案的參考。 專案屬性可決定是否將共用資料來源和共用資料集部署至報表伺服器或 SharePoint 網站。 如需詳細資訊,請參閱轉換資料來源 (報表產生器及 SSRS)

如果 [報表資料] 窗格是浮動窗格,您可以錨定它。 如需詳細資訊,請參閱固定報表設計師中的報表資料窗格 (SSRS)

群組窗格

您可以使用 [群組] 窗格,即可定義 Tablix 資料區的群組。 您可以定義資料表的資料列群組和詳細資料群組,而且您可以定義矩陣的資料列和資料行群組。 您無法使用 [群組] 窗格定義圖表或其他資料區的群組。 如需其他資訊,請參閱 Report Builder 分頁報表中的群組

[群組] 窗格有兩種模式:

  • Default。 您可以使用預設模式,以階層格式顯示所有資料列及資料行群組,其中顯示父群組、子群組、相鄰群組和詳細資料群組之間的關聯性。 子群組會顯示在下一個縮排層級 (相較於其父群組而言) 的下方。 相鄰群組會與其對等或同層級群組顯示在相同的縮排層級上。

    您也可以使用預設模式來加入、編輯或刪除群組。 若為以單一資料集欄位為基礎的群組,則您可以將欄位拖曳至 [資料列群組] 或 [資料行群組] 窗格。 您可以在現有的群組插入群組。 若要新增相鄰的群組,您可以使用同層級群組的快速鍵選單。 若要顯示哪些 Tablix 儲存格屬於某個群組,請在 [群組] 窗格中選取該群組。

  • 進階: 您使用 [進階] 模式以顯示所選取 Tablix 資料區的靜態及動態資料列與資料行群組成員。 在進階模式中,您也可以設定控制與群組或群組成員之資料列和資料行可見度的屬性。 這些屬性決定轉譯器所使用的規則,這些規則會嘗試將群組集中在同一頁面上。 群組成員會顯示在設計介面上,當做資料列群組和資料行群組區域中的資料格。

注意

若要在 [預設] 和 [進階] 模式之間切換,您能以滑鼠右鍵按一下 [資料行群組] 圖示右邊的向下箭頭。

如需詳細資訊,請參閱群組窗格

[工具箱] 窗格

[工具箱] 窗格包含可讓您拖曳至設計介面的報表項目。

  • 資料區是指您用於在報表上組織資料的報表項目。 資料區的範例包括資料表、矩陣、清單、圖表、量測計、資料橫條、走勢圖和指示器。
  • 其他報表項目包含 地圖、文字方塊、矩形、線條、影像 和 子報表。
  • 如果您的系統管理員已安裝並註冊自訂報表項目,自訂報表項目也可能會出現在 [工具箱] 窗格中。

屬性窗格

[屬性] 窗格是標準的 Visual Studio 視窗,其中會針對設計介面上目前選取的報表項目顯示屬性名稱和值。

若要顯示 [屬性] 窗格,請移至 [檢視] 功能表,然後選取 [屬性] 視窗。 您可以卸除此窗格並將其移至 SSDT 視窗的其他區域,或將其顯示為設計介面上的索引標籤式檢視。

在大部分情況下,屬性 (property) 名稱會對應至報表定義語言 (RDL) 檔案中的元素和屬性 (attribute)。 您可以使用選取項目的 [屬性] 對話方塊來設定最常用的屬性。 若要開啟項目的 [屬性] 對話方塊,您必須選取該項目,然後在 [屬性] 窗格工具列上選取 [屬性頁面] 按鈕。 進階使用者可以直接在 [屬性] 窗格中設定屬性值。

您可以使用 [內容] 窗格來執行下列任務:

  • 設定設計介面上目前所選取項目的屬性。 某些屬性會提供值的下拉式清單。 您也可以直接在資料格中輸入值。 某些屬性會包含值的集合,以 [(集合)] 值表示。 大部分的屬性都可以接受運算式。 複雜運算式會以值 <運算式>表示。 若要開啟 [運算式] 對話方塊,請選取 [運算式 (fx)] 按鈕。 如需詳細資訊,請參閱運算式對話方塊
  • 使用 [屬性] 窗格工具列按鈕,將方格從類別目錄檢視變更為字母順序檢視。 在類別目錄檢視中,您可能必須展開類別目錄,才能看見底下的所有屬性。 若要開啟項目的 [內容] 對話方塊,您可以選取工具列上的 [內容頁面] 按鈕。 或者,您可以以滑鼠右鍵按一下項目,然後選取 [屬性]
  • 設定 [群組] 窗格中目前所選取群組成員的屬性。 群組成員屬性可協助控制每個群組執行個體之靜態群組頁首及頁尾資料列的重複方式。 如需詳細資訊,請參閱在分頁報表中使用 (Report Builder) 群組顯示頁首和頁尾

方案總管

[方案總管] 是標準的 Visual Studio 元件,其中會顯示您專案中的所有項目。 針對報表伺服器專案,此項目清單包含用於組織共用資料來源、共用資料集、報表及資源的資料夾。 開啟方案檔時,會自動依字母順序來排列資料夾項目。 若要檢視 [屬性] 窗格中的項目屬性,請選取項目。

輸出視窗

[輸出] 視窗會顯示預覽報表時發生的處理錯誤。 此視窗也會顯示當您部署報表或共享資料來源時所發生的發行錯誤。

您可以使用 [輸出] 視窗來協助偵錯運算式中的錯誤。

文件大綱窗格

[文件大綱] 窗格會顯示報表定義中所有報表項目的階層式清單。 若要開啟 [文件大綱] 窗格,您可以選取 [檢視] >[其他 Windows] >[文件大綱]

[文件大綱] 窗格可來依名稱識別文字方塊及其他報表項目。 在 [文件大綱] 窗格中選取項目時,也會在 [設計介面] 上選取該項目。

您也可以使用 [文件大綱] 窗格來協助偵錯運算式。

[工作清單] 視窗

[工作清單] 視窗會顯示從另一個應用程式匯入報表時發生的建置錯誤。 例如,如果您從 Microsoft Access 匯入報表,且報表包含 SSRS 不支援的功能,則會在 [工作清單] 視窗中報告錯誤。

[報表設計師] 檢視

報表設計師支援兩個檢視:

  • 設計,以定義報表的資料和配置
  • 預覽,以顯示報表的轉譯檢視

設計檢視

建立報表伺服器專案時,預設會在 [設計檢視] 中開啟 [報表設計師],並顯示 Design Surface。 設計介面預設會顯示報表主體及報表背景。

Design Surface 背景具有快速鍵選單。 該選單提供新增頁首和頁尾的選項。 它也包含可用來顯示尺規、[群組] 窗格和 [參數] 窗格的 [檢視] 功能表。

您可以使用縮放控制措施來增加或減少報表的放大倍率。

若要設計報表,您可以將報表項目從 [工具箱] 窗格拖曳至 Design Surface。 然後,您可以設定其屬性,並在報表上改變其排列方式。

預覽檢視

在 [預覽] 檢視中,您可以執行報表,並在報表檢視器中檢視轉譯的報表。 您也可以設定組態屬性,使用瀏覽器以偵錯模式執行報表。

當您預覽報表時,報表設計師會:

  • 連線到報表資料來源。
  • 執行資料集查詢。
  • 快取本機電腦上的資料。
  • 處理報表以合併資料和配置。
  • 轉譯報表。

使用預覽檢視時,請記住幾個點:

  • 參數化報表。 當您預覽報表時,如果所有報表參數都具有有效的預設值,系統就會自動處理報表。 如果一個或多個報表參數沒有有效的預設值,您就必須為每個未指派的參數選擇一個值。 在報表工具列上,您必須選取 [檢視報表]
  • 本機資料快取。 當您預覽報表時,報表處理器會使用目前的參數預設值,執行報表中資料集的所有查詢。 它會將結果儲存為本機資料快取 (.rdl.data) 檔案。 如果您沒有對報表資料集查詢或報表參數進行任何變更,就可以繼續設計報表,而不會造成再次擷取這項資料的負擔。
  • Configuration Manager 和偵錯。 在 SSDT 中,專案屬性定義您要如何部署和偵錯報告。 這些屬性會套用至專案中的所有報表和共用資料來源。 若要設定專案屬性,您要移至 [專案] 功能表,然後選取 [屬性]。 在 [專案頁面] 對話方塊中,再選取 [Configuration Manager]。 您可以使用這些設定來測試報表,並將其發行至報表伺服器。
  • 輸出窗格。 當您預覽報表,而且報表處理器偵測到問題時,它就會將錯誤訊息寫入 [輸出] 窗格。

報表設計師的功能表

當報表設計師專案在 SSDT 中處於作用中狀態時,下列功能表會新增至主功能表。

格式功能表

當您在設計介面上選取項目時, [格式] 功能表就會包含下列選項:

選項 目的
前景色彩 選取文字色彩。 黑色是預設文字色彩。
背景色彩 選取文字方塊和資料區的背景色彩。
Font 指定文字是粗體、斜體或加上底線。
左右對齊 指定文字是靠右對齊、置中或靠左對齊。
契合 指定選取物件在報表內彼此對齊的方式。
設定成相同大小 調整選取物件在報表內的大小。
水平間距 調整選取物件在報表內的水平間距。
垂直間距 調整選取物件在報表內的垂直間距。
在表單中置中 將選取的物件垂直和水平對齊報表設計器視窗。
順序 將選取物件移至背景或前景。

報表功能表和 Design Surface 快速鍵選單

您可以使用下列選項來設定套用至整個報表的設定。 這些選項的可用性和位置取決於您所使用的 Visual Studio 版本:

  • 在舊版中,您可以在 [報表] 功能表中找到這些選項。
  • 在更新版本中,大部分選項都在 Design Surface 背景的快速鍵選單中。
選項 目的
報表屬性 開啟 [報表屬性] 對話方塊,指派一般報表屬性,例如作者姓名、方格間距、資料行數及頁面大小。 您也可以設定自訂程式碼、組件和類別的參考,以及資料輸出元素、資料轉換和資料結構描述的名稱。
檢視 在兩個報表設計師索引標籤之間切換:設計和預覽。 顯示或隱藏尺規、[群組] 窗格或 [參數] 窗格。
新增頁首 在報表中新增頁首或刪除頁首。 當您刪除頁首時,就會刪除頁首中的所有項目。
新增頁尾 在報表中新增頁尾或刪除頁尾。 當您刪除頁尾時,就會刪除頁尾中的所有項目。
發行報表組件 選取要發佈的報表組件。

檢視功能表

您可以使用下列 [檢視] 選單選項來顯示或隱藏各種報表設計師視窗與工具列:

選項 要顯示或隱藏的元件
錯誤清單 當您發行或預覽報表時偵測到的錯誤。
輸出 當您發佈或處理報表時偵測到的錯誤。 此外,當報表顯示 "#Error" 文字時,運算式錯誤的詳細資料。
屬性視窗 目前在 Design Surface 上選取之報表項目的屬性值。 您可以使用此選項來查看巢狀報表項目的屬性。 但是您必須選取報表項目多次,才能循環查看其階層和巢狀成員。 若要查看顯示哪個報表項目的屬性,可檢查 [屬性] 窗格頂端的項目名稱。
工具箱 工具箱。
其他 Windows>文件大綱 報表項目及其文字方塊集合在報表中的階層式檢視。
工具列 各種工具列,包括報表框線報表格式。 如需詳細資訊,請參閱報表設計師的工具列
報表資料 [報表資料] 窗格,可在此新增報表參數、資料來源、資料集和影像。

專案功能表

您可以使用 [專案] 功能表來管理專案中的共用資料來源和報表。 當您在專案中加入或移除項目時,就會自動更新 [方案總管] 中專案項目的階層式顯示。

選項 目的
加入新項目 在專案中新增新的共用資料來源或新的報表。
加入現有項目 在專案中新增現有共用資料來源或現有報表。
匯入報表 從其他應用程式匯入報表,例如 Microsoft Access。
從專案排除 從專案中排除項目。 此選項並不會從您的檔案系統中刪除項目。
顯示所有檔案 顯示專案中的所有檔案
重新整理專案工具箱項目 當您在專案中安裝新的自訂報表項目時,重新整理工具箱快取。
屬性 開啟此專案的 [專案頁面] 對話方塊。 如需詳細資訊,請參閱專案屬性頁面對話方塊

報表設計師的工具列

報表設計師會提供下列您可在設計報表時使用的專用工具列:

工具列 目的
報告 新增頁首或頁尾。 設定報表屬性。 顯示或隱藏尺規或 [群組] 窗格。 使用縮放控制措施來變更報表的檢視。
報表框線 設定所有選取線條的色彩、樣式和寬度,以及所有選取報表項目的框線。
報表格式化 設定選取報表項目的格式。 針對文字方塊,您可以使用工具列變更下列格式類型:字型屬性、文字色彩、背景色彩和文字對齊。
版面配置 設定資料區內報表項目和合併資料格的繪製順序。
標準 開啟或儲存專案、顯示視窗,以及選取偵錯組態。

您可以使用 [檢視] 選單來顯示或隱藏這些工具列。 如果其他 Visual Studio 工具列的功能不適用於報表設計師功能,這些工具列的功能可能會無法使用。

原始檔控制

SSDT 可以與來源外掛程式整合。您可以使用 [選項] 對話方框中的 [原始檔控制] 頁面來指定外掛程式並設定屬性。

自訂報表範本

若要使用自訂報表作為新報表的範本,請將自訂報表複製到有安裝 SSDT 的電腦上之 ReportProject 資料夾。

此資料夾的預設位置取決於您所使用的 Visual Studio 版本。 針對 Visual Studio 2022、2019 和 2017,此資料夾位於下列位置:

%ProgramFiles%\Microsoft Visual Studio\<release-year>\<edition>\Common7\IDE\CommonExtensions\Microsoft\SSRS\ProjectItems\ReportProject

針對 Visual Studio 2015,預設位置為下列資料夾:

%ProgramFiles%\Microsoft Visual Studio 14.0\Common7\IDE\Private Assemblies\ProjectItems\ReportProject

將新項目加入報表專案時,您的自訂報表會顯示在 [範本] 窗格中。 您也可以將自訂樣式加入報表精靈。

SSDT 的命令列支援

SSDT 是以 Visual Studio 及基礎 devenv.exe 應用程式為基礎。 此應用程式提供數個命令行選項,可用於使用報表。

您必須先設定下列兩個項目的有效值,才能使用本節描述的命令行選項:

  • OverwriteDataSourcesTargetDataSourceFolderTargetReportFolderTargetServerURL 的專案屬性。
  • 至少一組組態屬性,例如「偵錯」或「發行」。

如需詳細資訊,請參閱發佈資料來源和報表

針對報表伺服器專案,您可以從命令列指定下列選項:

  • /deploy:使用組態檔中指定的專案屬性來部署報表。 例如,下列命令會部署解決方案檔案 Reports.sln 指定的報表。 它會使用貸案屬性中指定的發行組態設定:

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /deploy "Release"
    
  • /build:建置解決方案檔案,但不部署。 例如,下列命令會建置解決方案檔案 Reports.sln 指定的報表。 它會使用專案屬性中指定的偵錯組態設定:

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /build "Debug"
    
  • /out:將建立方案的輸出重新導向至指定檔案。 例如,下列命令會將上一個範例中的組態輸出,重新導向到名為 mybuildlog.txt 的檔案。

    devenv.exe "C:\Users\<user-name>\source\repos\Reports\Reports.sln" /build "Debug" /out mybuildlog.txt
    

SSDT 中的鍵盤快速鍵

您可以使用鍵盤快速鍵以:

  • 在 SSDT 中控制視窗和模式:

    描述 按鍵組合
    建立選取的專案 Ctrl+Shift+B
    顯示屬性視窗 F4
    顯示報表資料窗格 Ctrl+Alt+D
    開始偵錯 F5
    從某個開啟的視窗移至下一個 F6
  • 控制報表設計介面上的項目:

    描述 按鍵組合
    將焦點從某個報表項目移到下一個報表項目 定位字元
    移動選取的報表項目 方向鍵
    微調選取的報表項目 Ctrl+方向鍵
    增加或減少選定報表項目的大小 CTRL+SHIFT+方向鍵
    在文字方塊中,將游標移到可見之顯示文字的開頭 Ctrl+Home
    在文字方塊中,將游標移到可見之顯示文字的結尾 Ctrl+End
    在文字方塊中,選取從目前游標位置到可見之顯示文字開頭的文字 Shift+Home
    在文字方塊中,選取從目前游標位置到可見之顯示文字結尾的文字 Shift+End
    在文字方塊中,選取從目前游標位置到運算式開頭的文字 Ctrl+Shift+Home
    在文字方塊中,選取從目前游標位置到運算式結尾的文字 Ctrl+Shift+End
    開啟選定報表項目的快速鍵功能表 Shift+F10