SQL Server 2005 Reporting Services報表設計 報告人:林賢達 意象科技
課程大綱 Reporting Services簡介 報表設計 資料表報表 矩陣報表 參數化報表 圖表報表 報表部署
微軟商業智慧解決方案(1/2) 資料整合 資料分析 資料呈現 整合各種不同資料來源與不同異質資料系統 快速資料轉換與資料整合應用 完整分析機制 企業邏輯分析應用 建立企業實際需求 資料分析 資料呈現 快速報表建置 資料呈現與資料傳遞 系統性企業報表 個人化報表管理
微軟商業智慧解決方案(2/2) SQL Server 2005 Reporting Services是基於伺服器的企業級報表環境,可以用來建立和管理包含關聯資料庫和多維資料來源中的資料的資料表、矩陣、圖形和自由格式的報表。 報表服務提供了以下功能: 用來處理和格式化報表的一個高性能引擎; 用來建立、管理和查看報表的一個完整的工具套件; 可將報表解決方案內嵌或整合到不同IT環境中的一個可擴展架構和開放式介面。
Programmatic Interfaces Reporting Services架構 Browser Builder Office Custom App Web UI Data Sources (SQL, AS, OLE DB, XML/A, ODBC, Oracle, Custom) Programmatic Interfaces Security Services (NT, Passport, Custom) Report Server Report Model Report Processing Data Processing Security Rendering Delivery Output Formats (HTML, Excel, TIFF, Custom) SQL Server Catalog Delivery Channels (E-mail, SharePoint, Custom)
報表製作、部署與運作 報表生命週期 製作AUTHORING Dynamic content Print-ready or interactive reports Report Definition Language (RDL) Any .NET managed data provider Report Designer 管理MANAGEMENT 傳遞DELIVERY Publishing capabilities Report security Data security Controlled execution Managed report execution Many output formats Runtime report rendering Pull (Report Manager) Push (Emails, Shares)
報表設計 – 使用Report Designer 整合至VS 2005 BI Project 報表設計檢視 資料, 配置, 預覽 報表組成 報表頭/尾, 群組頭/尾, 詳細資料, … 報表定義語言(RDL) 報表呈現(Representation ) 結構定義(Schema ) 輸出格式(Output format)
報表設計(續) 設計流程 建立資料來源:Microsoft SQL Server, Analysis Services, XML, Oracle, OLEDB 建立報表 加入資料集:SQL, MDX, DMX 查詢設計器 加入(1)資料表:固定的資料行,任意資料列 (2)矩陣:使用行/列二維的角度來統計分析資料;多個資料行/資料列(分組概念) (3)圖表:直立圖; Chart FX for RS 加入資料行 建立群組, 彙總運算
設計資料表報表(1/3) 使用資料表控制項,固定的資料行,任意資料列 報表配置(Layout) 調整報表大小, 例如A4大小 加入報表標題名稱:使用TextBox控制項, 加入標題名稱, 調整字體大小, 前景顏色和背景顏色 加入報表Logo, (1)內嵌影像:功能列/報表/內嵌影像 (2)顯示影像,使用影像控制項 加入邊框:使用BorderStyle屬性 設定資料行標籤:粗體字, 背景顏色
設計資料表報表(2/3) 報表配置(續) 調整文字對齊方式:使用TextAlign屬性 格式化輸出:使用Format屬性, 例如###.##小數點兩位或者使用Format函式, 例如貨幣格式=FormatCurrent(Fields!xxx.Value) 強調顏色:使用運算式,例如數量大於1,000顯示藍色文字,大於等於1,000顯示紅色文字 ,寫成 =iif(Sum(Fields!CURQTY.Value)<=1000, "red", "blue")
設計資料表報表(3/3) 報表分組 向下鑽研 在[詳細資料]插入群組,並指定群組對象:資料行 將群組對象欄位移至群組首 彙總統計 編輯群組:(1)指定父群組 (2)可見性,初始可見性:隱藏; 另一個報表項目可以切換可見性
設計矩陣報表 使用矩陣控制項,透過行/列二維來分析資料 可以有多個資料行和資料列(分組概念) 報表配置 向下鑽研 加入群組:插入[合計]群組 編輯群組:(1)指定父群組 (2)可見性,初始可見性:隱藏; 另一個報表項目可以切換可見性
設計參數化報表(1/4) 報表參數 查詢參數 @ParameterName (MS SQL) 具名參數 :ParameterName (Oracle) 具名參數 ? (OLEDB) 不具名參數 Parameters!ParameterName.Value (Lable屬性,標籤名稱), 例如Parameters!Year.Value= Year(Today()) URL參數, 例如rs:Command=Render, rs:Format=CSV, rs:Command=ListChildren, rc:NoHeader=true, rc:toolbar=false, rc:Parameters
設計參數化報表(2/4) 參數應用 查詢條件 通過對某一報表項目的選擇,將這個報表項目的值作為參數傳遞給另一張報表,從而打開另外一張報表。 建立資料集作為參數值的資料來源 建立報表參數 設定報表參數與查詢參數的對應關係, 單值用等號(=),多重值用IN子句 顯示查詢條件
設計參數化報表(3/4) 參數傳遞 加入目標報表的報表參數,用於接收傳入的值 在來源報表 編輯報表項目的屬性:導覽,(1)選擇超連結動作:跳至報表 ; (2)設定目標報表的參數值; (3)隱藏參數; 將報表項目改成藍色文字加底線, 顯示成超連結
設計參數化報表(4/4) 參數互動 動態參數 根據選定的MONo(參數A)過濾可選的 LotNo(參數B) 加入"All"參數值 SELECT 'All' AS BaseLotNo UNION SELECT BASELOTNO FROM TBLWIPLOTBASIS 修改SQL敘述 iif(Parameters!LotNo.Value = "All","", "AND tblWIPLotState.LotNo = '" &Parameters!LotNo.Value &"'" &"")
設計圖表報表 使用ChartFX for Reporting Services 直立圖, 趨勢圖, 圓形圖(百分比),…
報表部署(1/2) Deploying report folders, reports, shared data sources, and resources to a report server Report Designer:使用VS 2005 Report Manager RS Utility
報表部署(2/2)整合SharePoint
Q & A