伴隨着你的經理濕潤的呼吸呼到你的脖子上,你很不自然的轉過椅子,告訴他你現在所完成的成果。
“非常好”經理說道,你不禁開始想象他站在你身后摸着胡子的樣子。“現在還需要一個餅圖,每個報表都有餅圖!”,經理說完這句話后,你發覺身后溫暖的感覺消失了,取而代之的是腦中想象出經理披着邪惡的黑斗篷的樣子。你重重的嘆了一口氣:“餅圖”。
雖然你知道並不像經理所說的那樣,每一個報表都有餅圖。但起碼你要了解一些餅圖和地圖的概念來告訴經理其實並不是這么回事。本篇文章闡述報表中不同類型的可視化以及它們的應用場景。
在開始之前,請確保你已經閱讀過本系列文章之前的文章。
可視化
除去基於文本的報表項之外,報表可以通過不同類型的可視化來提供有價值的信息,這些項包括圖表,地圖和儀表。這些項不僅能使報表的外觀更加專業和美觀,還能展現出其他方式無法展現出的數據。可視化在SQL Server 2008R2中的項以及他們的應用場景如下:
- 圖表展示了趨勢,分析和分組信息。如果你希望用戶快速理解報表信息,圖表是一個正確的選擇。
- 顯示地理信息,則地圖是不二之選,因為地圖可以在有意義的區域上覆蓋信息。
- 還有許多儀表可視化項,包括儀表,數據條,迷你圖和指示器,這些將會被在后續文章介紹到。
上面的列表中的前兩項可以在工具箱中找到,如圖5-1所示。
圖5-1.工具箱中的可視化項
圖表
圖表是在日常中最常用到的。我們在工作中被淹沒在Excel和PowerPoint中,有時甚至每月的手機賬單上面都有圖表。雖然我們已經知道不同類型的圖表可以突出一些趨勢和數據,但如何選擇該用哪種類型的圖表?表5-1顯示了在報表服務中的圖表和他們的使用場景。
圖表類型 | 使用場景 |
列 | 趨勢 |
折線圖 | 趨勢 |
形狀 | 比較 |
條形圖 | 趨勢 |
面積圖 | 趨勢 |
范圍圖 | 趨勢 |
散點圖 | 趨勢,比較 |
極坐標圖 | 比較 |
表5-1.圖表類型和使用場景
既然我們已經知道了該選擇哪類圖表,下面我們在報表中創建圖表。最終完成后的報表如圖5-2所示。
圖5-2.完成后的報表
為了完成我們的圖表報表,打開BIDS,創建一個新的報表項目后創建報表。針對AdventureWorks數據庫寫如下查詢語句.
select t.Name as TerritoryName , SUM(o.TotalDue) as TotalOrders , COUNT(*) as NumberOrders from Sales.SalesOrderHeader o inner join Sales.Customer c on o.CustomerID=c.CustomerID inner join Sales.SalesTerritory t on c.TerritoryID=t.TerritoryID group by t.Name
然后我們將圖表添加到報表中。從工具箱中拖入圖表到設計窗口。圖表向導將會打開,如圖5-4所示。創建一個條形圖。在條形圖選項中選擇第一個。
圖5-4.在圖表類型選擇器中選擇條形圖
單擊圖表會彈出圖表數據窗口.添加TotalOrders和NumberOrders字段到圖表數據窗口的值里。添加TerritoryName到類別組里。如果你想用動態數據值來展現不同的條形圖,則序列組會很有用。
現在看上去圖表已經達到了我們的需求。但是由於軸的單位是不同的我們看不出實際的訂單數量。因此我們需要為訂單數量再創建一個軸。在NumberOrders值的屬性窗口,在軸和圖表區選擇水平軸為輔助,如圖5-5所示。
圖5-5.序列屬性窗口
現在我們運行報表就可以看見,銷售訂單的數量在圖表上面,而銷售額在圖表下面。最后,我們可以在序列屬性窗口中修改一系列的參數,包括顏色,字體,位置。最后產生的結果應該和圖5-2類似。
地圖
地圖報表項是在SQL Server 2008R2首次引入的,你可以使用內置函數對地圖上不同顏色的標記從而將數據以不同的方式展示。
報表服務允許你從下面幾種空間數據源中創建地圖:
- 地圖庫
- ESRI 形狀文件
- SQL Server空間查詢
當選擇好所需的空間數據源時,你就可以將數據附加到地圖上了。下面是一個完成后的地圖用於顯示在美國的客戶分布圖如圖5-6所示。
圖5-6.完成后的地圖報表
下面我們來創建一個客戶數量地圖。使用如代碼5-7所示的數據來查詢SQL Server數據庫。
select s.Name as StateName , COUNT(*) as PeopleCount from Person.Address a inner join Person.StateProvince s on a.StateProvinceID=s.StateProvinceID group by s.Name
代碼5-7.CustomerCountByState數據集
當數據准備好之后。將地圖項拖入報表的設計窗格。地圖創建向導會引導我們創建地圖,我們選擇了USA by State選項,如圖5-8所示。
圖5-8.選擇美國地圖的地圖向導界面
接下來的屏幕提供了改變地圖分辨率、標尺和大小的選項。你還可以使用添加必應地圖層,這個選項允許你使用必應的Web Service來現實實際的地理信息。讓我們以默認選項點擊下一步。
下一個屏幕選擇我們希望展示的地圖類型:分別為基本圖、顏色分析圖和氣泡圖。我們選擇起泡分析圖后點擊下一步。選擇剛剛創建的CustomerCountByState數據集。現在我們需要設置好我們的分析數據了。
接下來的屏幕如圖5-9所示,第一個區域將地圖文件的metadata和數據集的metadata進行匹配。第二個區域(空間數據)和第三個區域(分析數據)正如其所展示的功能那樣。因為我們的數據集返回的是完整的洲名稱,所以我們在空間數據集選擇字段:STATENAME,在分析數據集使用字段:StateName。
圖5-9.Metadata匹配后的地圖向導界面
最后,我們需要告訴報表服務如何彈出氣泡。在接下來的的屏幕如圖5-10所示,選擇數據字段[Sum(PeopleCount)],然后選擇主題顏色。完成后,點擊完成。
圖5-10.選擇數據時的地圖向導
記住無論你進行到了哪一步你都可以點擊上一步來對已經設置的數據進行修改。你還可以在設計窗格中直接對地圖報表項做修改。在完成這些步驟之后,最終你能看到如圖5-6所示的報表!
不再未知
在讀完本篇文章之后。我們已經充滿希望的“用圖表展示未知”並准備為報表添加一些更棒的可視化項。我們現在已經知道了如何創建不同類型的圖表和使用地圖來展現地理信息了。下一步,我們將會將已學到的技巧進行升級。如果你的經理喜歡餅圖,那毫無疑問他也會喜歡儀表盤,我們將在下一篇文章:設計儀表盤中進行闡述。
------------------------------------------------------------
原文鏈接:Charting the Unknown – Level 5 in the Stairway to Reporting Services
Translated by:CareySon