在許多公司裡,製作報表是個重要的工作。企業中的主管、業務分析師、經理、和不斷增長的信息工作人員依賴於易理解的報表中獲得的及時和準確的信息來有效的進行他們的工作。SQL Server 2008報表服務包含全面的報表製作工具,以及一些創新的報表格式,可以輕鬆的創建提供信息的報表,並採用對於你的公司來說最有效的格式,提供給僱員所需要的信息。
使用報表開發工具
在大多數公司裡,有兩組截然不同的人創建報表;習慣於工作在全面的開發環境中的熟練的商業智能解決方案開發人員,和不熟悉資料庫架構設計、並需要通過直觀的報表設計環境的商業用戶,這種直觀的報表設計環境需要將底層複雜的技術進行抽象。
SQL Server 2008滿足了這兩種需要,它提供了為滿足這兩種用戶的需求而特別設計的直接的報表開發工具。這使得開發人員可以創建用於整個企業的複雜的報表解決方案,同時使得商業用戶可以很容易的專注於與他們的業務領域相關的專門的數據。
報表設計器
報表設計器為開發人員和高級報表製作人員提供了一個非常靈活和高效的報表製作環境,如圖1所示。報表設計器是SQL Server商業智能開發套件的一個組件,SQL Server商業智能開發套件是一個基於Microsoft Visual Studio的通用開發界面的商業智能開發環境。這個設計界面使得開發人員可以很容易的為一個報表定義從多個數據源而來的數據集、設計報表的布局,然後在將它部署到報表伺服器上之前直接在設計環境中預覽報表。開發人員使用報表嚮導可以快速並容易地創建報表,他們也可以通過使用報表設計器中的可視化的設計環境建立更廣泛的報表。內置的查詢設計器簡化了報表所使用的數據集的提取工作,並且可以直接拖拉的設計界面使得可以很容易的布置報表元素用於顯示。當一個開發人員完成了一個報表,他們可以預覽這個報表,然後將其直接從報表設計器部署到報表伺服器上。
報表生成器
讓開發人員可以開發強大的、可以部署給上千名用戶的報表是非常有價值的,並且為全公司帶來了一致的、專業設計的報表。然而,有時個別商業用戶需要能夠修改報表或甚至是創建他們自己的有特殊要求的報表。報表生成器是一個易於使用,專注於業務的報表查詢工具,它通過報表模型抽象了後臺的業務數據,報表模型反映了業務實體例如客戶、產品、銷售,等等。報表生成器如圖2所示。通過創建一個模型反映這個面向業務的數據視圖,報表生成器使得商業用戶可以創建強大的報表而不需要了解後臺資料庫結構或查詢語句的全面知識。
訪問用於創建報表的數據源
大多數公司將數據分布在多個應用程式和資料庫中。為了對業績的進行充分理解,用戶需要一個可以從公司的多個異構的數據源提取數據的報表解決方案。例如,公司裡的銷售主管可能需要一個結合了從會計部門的Oracle資料庫提取的數據和從基於Microsoft SQL Server的CRM 應用獲得的客戶數據的報表。SQL Server 2008報表服務支持訪問用於報表創建的多個數據源,包括SQL Server關係資料庫、SQL Server分析服務、Oracle、DB2和 Hyperion Essbase;而且報表製作可以將從多個數據源獲得的數據結合到一個單獨的報表中。此外,有了SQL Server 2008報表服務,報表製作人員可以從SQL Server關係資料庫、SQL Server分析服務多維數據集和Oracle資料庫生成要和報表生成器一起使用的報表模型。
創建引人注目的報表
商業用戶要求能夠靈活地查看和顯示不同類型、不同格式的數據。報表服務滿足了這一需求,它提供了一組強大的引人注目的報表製作特性,包括多個顯示和參數選項、交互能力、豐富的文本格式、和許多繪製圖表的功能。
查看和與報表交互時,用戶有不同的需求和期望,而且一個報表格式對某種類型的數據可能很適用,但可能不適合於其它類型的數據。SQL Server 報表服務支持一些顯示選項,使你創建的報表採取最適合用戶需要的顯示形式。
SQL Server 報表服務使用數據顯示類型來定義報表中的數據的顯示。你可以使用下面的數據顯示類型來顯示數據:
◆列表。一個隨意形式的數據顯示。
◆圖表。圖形格式,它以圖表的形式顯示數據。
◆表。表格格式,在這種格式下,數據按行和列顯示。你可以創建具有層次結構的一些行來反映你所有的數據分組和顯示分組。
◆矩陣。這是一個支持行和列分組的格式,它可以在行和列的交叉單元格裡顯示合計的總數據,類似於樞軸表或交叉表。
◆Tablix. 一個混合了表和矩陣的格式,隨著SQL Server 2008報表服務的發布而推出。
Tablix
如上面所提到的,SQL Server 2008推出了一個新的數據顯示類型,叫做Tablix 。正如名字所顯示的,Tablix 是表和矩陣數據類型的最佳功能的結合。Tablix 使你可以創建一個靈活的具有多個行和列的分組布局的報表,可以很容易的建立通用的報表顯示,而對於使用目前的市場中可用的報表製作工具來說,這些新功能是很難或不可能完成的。有了Tablix ,你可以建立的報表包括以下內容:
◆固定的和動態的行和列。在一個表裡,一個報表可以有動態的行,在這些行裡可以有重複和內嵌的組,但是列是固定的。在一個矩陣裡,一個報表可以有動態的行和列,但是不能包含固定的行和列。有了Tablix ,這些限制就沒有了,報表既可以包含動態的行和列,也可以包含固定的行和列。
◆在行和列上都可以進行隨機嵌套。在之前的報表服務的版本中,當用戶使用表的時候,只可以對行進行隨機嵌套。隨著Tablix的推出,隨機嵌套在行和列上都可以使用了。
◆可選擇省略行和列的頭。因為Tablix 提供了表和矩陣的所有有用的功能,報表製作者可以省略行和列的頭。這個技術在先前只能用在矩陣裡,但有了Tablix ,它也可以用在表上了。
◆在每一級上有多個並行的行和列。在同一個報表裡應用多個並行的行和列的能力是一個新的獨特的設計特性,它可以顯著的改善報表中信息的顯示方式。例如,當設計一個銷售報表時,報表製作者可以選擇讓一個顯示年的列具有一個動態的層次關係,它之後有一個動態的產品列,如下面的插圖所示。注意這兩個層級關係雖然相鄰顯示,但卻是各自獨立的,同時共享同一行的數據值。
圖標
大量複雜的文本格式的數據對於用戶來說是很難理解的。隨著在報表服務中對新的可視化能力的大量投入,SQL Server 2008提供了一個增強了的製圖引擎,其中包括許多豐富的圖表,使得決策者可以以一種友好的格式來查看數據,並可以立即使他們看到這個大圖。報表服務提供給用戶許多圖表類型,包括傳統的條狀圖、區域圖、列、環狀圖、線、和餅圖。報表服務2008還包括對區域評測類型圖表的支持,有多圖表區域和圖例、全距圖、極區圖、雷達圖、錐形圖、漏鬥圖。圖表的增強,例如注釋和對大型數據的支持,為你的報表環境提供了更好的靈活性。
交互功能
SQL Server 2008報表服務提供了一些報表設計功能使得開發人員可以創建具有高度動態性的報表,這些報表為用戶提供了更加深入的數據交互以及顯示的能力。可以添加到報表中的交互式元素包括:
◆參數。給報表添加參數使得在報表被處理的時候,用戶可以提供他指定的值以便過濾報表中顯示的信息。例如,一個用戶可以為一個銷售報表提供一個區域參數值,使得只查看在指定區域的銷售記錄。參數幫助報表製作者用一個報表獲得更廣泛的用戶群,並提供給用戶更靈活和交互性更強的體驗。
◆交互式排序。對報表應用排序功能使得用戶可以按報表所包含的任一列數據按升序或降序排列。例如,一個用戶查看一個包含銷售信息的報表,他可能先按日期排列數據,然後按銷售數量排序。
◆操作。開發人員可以給報表添加連結,使得用戶可以執行動作,例如跳轉到報表中的另一部分、打開一個外部網頁、或打開另一個相關的報表以便執行鑽透分析。例如,一個報表可能列出了本月訂單的訂單號、客戶名稱和銷售數量。報表開發人員可以添加一個鑽透動作到這個報表中以便用戶點擊了某一訂單的訂單號之後,可以打開一個顯示這個訂單細節的報表。
◆文檔結構圖。用戶使用一個文檔結構圖輕鬆的操縱報表。文檔結構圖在報表中顯示為一個側面面板,用戶可以使用它包含的層次連結移動到報表的各個部分。
◆子報表。開發人員可以將一個報表內嵌到另一個報表之中作為一個子報表;報表服務的一個強大功能是讓開發人員可以將一個報表中的信息直接作為另一個報表的一部分來顯示。例如,一個開發人員可能創建一個顯示公司內所有銷售區域的報表,而它有一個子報表顯示每一個區域的銷售情況。