微軟生態系的報表解決方案 Power BI Report Server & Reporting Services (rdl, rdlc & pbix)
2022-04-18
介紹微軟生態系的報表解決方案,包含 Power BI Report Server 以及 Reporting Services 等伺服器端的應用技術以及 Report Definition Language Client Side 直接在應用程式端處理報表需求的解決方案。
說明
開發系統免不了有使用報表的需求,報表分為兩種:
一種是提供列印類型,顯示詳細資訊、作業軌跡提供內部稽核、管考類型的報表,列印會需要支援 Word 以及 PDF 的格式,並會需要資料匯出為 CSV 或者 Excel 的需求。
另一種報表則是著重在將資料轉化為資訊,並從資訊中擷取出能夠提供決策支援輔助的功能,因此報表強調使用者的操作性、資料的彙總處理與分析以及豐富的視覺化效果。
讓我們一探微軟在報表的解決方案上的選擇,讓開發人員不用重造輪子,儘早完成使用者的需求 😉
Reporting Services
全名為 SQL Server Reporting Services,簡稱 SSRS,另因為其所使用的報表副檔名為 rdl,因此也會有些人將 Reportings Services 的解決方案稱為 rdl 並與 rdlc 比較差異。
Reporting Services 的授權是隨附於 SQL Server 當中,因此其生命週期也是跟隨 SQL Server。
使用 Reporting Services 能夠設計編頁式報表,擅長處理需要列印成紙本文件的報表,例如電子發票、差旅明細等,此外編頁式報表也提供參數的功能,讓使用者能夠自行調整檢視報表的內容,同時編頁式報表的超級強項是資料匯出功能,包含了 Word, Excel, CSV, PDF,但缺點是與開發系統的整合較弱,沒有辦法結合系統的程式流程篩選資料。
開發安裝
要開發 Reporting Services 報表有兩種工具可供使用:Visual Studio 以及 Paginated Report Builder
Visual Studio
使用 Visual Studio 進行報表的開發設計,需要安裝 SSDT 功能以及安裝 Microsoft Reporting Services Projects 擴充管理功能,才能夠使用 Visual Sutdio 建立 SSRS 專案。
Paginated Report Builder
Report Builder 可以從微軟直接下載或從 Power BI Report Server 及 SQL Server Reporing Services 的站台入口連結到下載位址。
Report Builder 的設計介面與 Visual Studio 相似,差別在於 Visual Studio 是使用專案的角度進行報表設計,並且可以搭配版本控制機制,方便進行管理。而 Report Builder 是專門為
伺服器安裝
Reporting Services 是隨附於 SQL Server 授權的功能,而從 SQL Server 2017 安裝必須另外下載,不再隨附於 SQL Server 的安裝 Source (iso) 當中。我們可以從微軟的網站找到對應 SQL Server 版本的 Reporting Services 下載。
安裝的方式非常簡單,完成安裝後需要進行報表伺服器的設定,這點也跟 Power BI Report Server 的設定方式非常相似。
SQL Server Reporting Services 和 Power BI Report Server 安裝非常相近,是否可以用其中一方取代另一方?
答案是可以的,Power BI Report Server 具備所 SSRS 所具備的編頁報表功能,再額外加上了 Power BI 報表,所以要用 Power BI Report Server 取代 SSRS 是沒有問題的。
唯一的問題就是授權,Power BI Report Server 需要 Enterprise 版 + SA 授權,所以成本高出許多;相對地 SSRS 是隨附於 SQL Server 當中不需要額外的授權成本 🙂
Power BI Report Server
Power BI Report Server 是地端版的 Power BI 服務,需要具有 SQL Server Enterprise Edition 加上 Software Assurance 授權才能夠使用。
開發安裝
Power BI Report Server 具有 SSRS 所提供的編頁式報表功能,此外再加上了 Power BI 報表的功能,兩者各有所長。Power BI 報表適合在各種裝置 (網頁、行動) 上呈現,使用 REST API 的技術在客戶端呈現報表內容,較編頁式報表有豐富的使用者互動功能,但不擅長作為列印式的報表,也不擅長匯出資料。
Power BI 報表與編頁式報表,各有所長處理專門的需求情境,不是取代而是互補的關係 😀
Power BI Desktop 202x
開發 Power BI 報表需要使用 Power BI Desktop,需要注意的是地端版的 Power BI Desktop 與雲端版的不同,誤用雲端版的 Power BI Desktop 可能會無法成功將報表部署至報表伺服器,要特別注意。
此外 Power BI Desktop 還需要注意 Power BI Report Server 所使用的版本,例如目前最新的式 2022 Jan 版本,所以 Report Server 以及使用的 Power BI Deskop 版本就必須一致。
關於近年來 Power BI Report Server 主要版本釋出歷程如下:
Version | Release Date |
---|---|
Power BI Report Server January 2022 | 2022-01-25 |
Power BI Report Server September 2021 | 2021-09-27 |
Power BI Report Server May 2021 | 2021-05-27 |
Power BI Report Server January 2021 | 2021-01-28 |
Power BI Report Server October 2020 | 2020-10-27 |
Power BI Report Server May 2020 | 2020-05-27 |
Power BI Report Server January 2020 | 2020-01-23 |
Power BI Report Server September 2019 | 2019-09-26 |
Power BI Report Server May 2019 | 2019-05-21 |
Power BI Report Server January 2019 | 2019-01-22 |
Power BI Report Server August 2018 | 2018-08-15 |
Power BI Report Server March 2018 | 2018-03-19 |
Power BI Report Server October 2017 | 2017-10-31 |
Power BI Report Server June 2017 | 2017-06-12 |
詳細的版本歷程以及 Update 可以參考 sqlserverbuilds Power BI Report Server (PBIRS) Versions
Microsoft Report Builder
要開發編頁式報表,Power BI 有其專門的 Power BI Report Builder 和 SSRS Report Builder 的介面極度相似。
伺服器安裝
安裝方式可以參考 Power BI 報表伺服器安裝步驟 (How to install Power BI Report Server)
RDLC
Report Definition Language Client Side
關於使用 RDLC 或者 RDL 的討論,可以參考 stackoverflow 上精彩的討論文章 When to use RDLC over RDL reports?
開發安裝
RDLC 使用 Visual Studio 開發,需要安裝 SSDT 並且配合 Visual Studio 的版本安裝 Microsoft RDLC Report Designer
伺服器安裝
伺服器端不需要特別的安裝,也不需要有專門的伺服器處理報表,此乃 RDLC 特色是也 😃