天天看點

【譯】設計儀表盤----通向報表服務的階梯系列(六)

  你在公司的飲水機旁,一邊和等待接水一邊和同僚聊着周末的計劃。

    “我整個周末都需要加班”她抱怨道。我需要在周末結束之前給大BOSS設計一個儀表。這讓你想起了你已經建立過的報表,你感覺你應該能幫上她。

    “我們應該使用報表服務”,你接完水時說道。然後你打開通向報表服務的階梯系列來看看你能學到什麼。本篇文章通過一個示例儀表來展示折線圖,資料條和訓示器。幸運的話,你和你的同僚周末就都不用加班了。

     在開始之前,希望你先閱讀本系列文章之前的文章。

如何開始

    報表開發人員開發兩種類型的報表:分析型報表和工作報表。工作報表是在日常工作中經常用到的,它們包括清單和一些可視化項,比如客戶的清單,進度的狀态報告以及其他一些第三方報表。而分析型報表略有不同,他們提供了一些幫你做出更好的商業決定的更有洞察的資料。這類報表包括儀表盤,積分卡和穿透報表。

    儀表盤是展現分析型報表的最好工具之一。因為儀表盤的類型衆多。通常來說,儀表盤展示資料的概括和趨勢來突出商業的各個方面。每一個被突出展示的業務面也稱為key performance indicator (KPI), 它們可以根據不同的業務組進行分隔和分組。

    我們最終建立好的儀表盤如圖6-1所示.

    1

    圖6-1.完成後的儀表

儀表報表項

    在報表服務中,有好幾個我們可以用于建立儀表盤的報表項:儀表,資料條,迷你圖和訓示器。你可以在Business Intelligence Development Studio (BIDS)的工具箱窗格中看到這些項,如圖6-2所示。

    2

    圖6-2.在工具箱中的儀表盤報表項

    使用上圖中的報表項和我們之前使用的報表項方法略有不同,下面讓我們來建立一個儀表盤。

儀表盤資料

    首先以建立一個資料源和資料集來從資料庫取出你所需要的資訊。比如,使用語句從微軟SQL Server 2008 R2提供的AdventureWorksDW示例資料庫提取資料,如圖6-3所示。

select e.FirstName + ' ' + e.LastName as FullName

 ,fsq.CalendarYear

 ,fsq.CalendarQuarter

 ,fsq.SalesAmountQuota

 ,frs.SalesAmount

 ,CASE WHEN fsq.SalesAmountQuota > frs.SalesAmount

 THEN 1 ELSE CASE WHEN fsq.SalesAmountQuota = frs.SalesAmount

 THEN 0 ELSE -1 END

 END as Trend

from dbo.FactSalesQuota fsq

inner join dbo.DimEmployee e on fsq.EmployeeKey=e.EmployeeKey

left join (

 select 

 EmployeeKey ,CalendarYear ,CalendarQuarter

 ,SUM(SalesAmount) as SalesAmount

 from dbo.FactResellerSales f 

 inner join dbo.DimTime t on f.DueDateKey = t.TimeKey 

 group by EmployeeKey,CalendarYear,CalendarQuarter) frs

 on fsq.EmployeeKey=frs.EmployeeKey

 and fsq.CalendarYear=frs.CalendarYear

 and fsq.CalendarQuarter=frs.CalendarQuarter

   代碼6-3.AdventureWorksDW 趨勢查詢

準備開始儀表盤

    現在,可以展示的域已經可用。讓我們來設計儀表盤。以向報表中添加一個tablix并加入合适的字段開始,這些字段為:CalendarYear和CalendarQuarter 并使用FullName作為分組字段。現在這個表可以如圖6-4所示。

    4

    圖6-4.開始建立儀表盤

儀表盤報表項

    你需要确定在儀表盤中使用哪個報表項,下面是各個報表項的适用場景:

交通信号燈是一個大多數人熟知的訓示器。在交通訓示燈中,紅綠黃三種燈分别顯示不同的狀态。在報表服務中訓示器的圖示可以進行更換來适應趨勢的不同狀态。

儀表可以通過實際值和目标值接近的程度來展示不同的狀态。

在表格中的柱狀圖也被成為資料條。當你希望看到一範圍内的整體視圖時,使用資料條。

折線圖是一個将一系列資料進行聚合展示的迷你圖。和資料條類似,折線圖也可以展現一個員工不同季度的銷售額資料。

    通過使用上述的報表項,你就可以建立一個可視化儀表盤。下面我們來将上述的報表項加入一個表格。

訓示器

    在圖6-4中已經建立好的表格右邊插入一列,從工具箱中拖入訓示器到這一欄,當訓示器被拖入後,選擇訓示器類型的視窗會被自動打開,記住一點,如果你設計的報表需要被最終使用者列印,請不要選擇僅僅靠顔色來區分的訓示器,是以,我們在這裡選擇了箭頭訓示器,如圖6-5所示。

    5

    圖6-5.選擇訓示器類型視窗

    在選好訓示器類型之後,你需要告訴訓示器采用哪種範圍标準。左鍵單擊圖表,在儀表視窗上,點選如圖6-6所示的第一個圖表,将會打開屬性視窗。

    6

    圖6-6.選擇訓示器屬性

    我們可以通過訓示器屬性視窗來對訓示器的屬性進行設定。在值和狀态視窗.設定需要采用的值的列。這裡是Trend,設定狀态度量機關為數值,其它需要設定的值如圖6-7所示,如果你使用百分比作為度量機關,確定值在0到100之間。

    10457

    圖6-7.訓示器狀态視窗的值和狀态選項

    注意:這裡有一個設定訓示器值的快捷方式:拖入希望的字段到文本框當中,再将訓示器拖到文本框上,則訓示器的值會被自動設定。删除訓示器不會删除原有值。

    既然訓示器已經設定好了,報表服務将會根據每行的值來展示不同的圖表。儀表和訓示器十分類似,也可以看作是一個獨立的訓示器。

迷你圖

    讓我們來使用剛剛建立好的資料集和表格來建立迷你圖。我們想要顯示每個人每季度的銷售額變化狀态,通過從工具箱中拖動迷你圖到我們剛才建立的訓示器上方,彈出選擇迷你圖類型視窗,我們選擇的迷你圖類型如圖6-8所示。

    8

    圖6-8.選擇迷你圖類型視窗

    當我們選擇完迷你圖類型後,我們還需要相應的資料來生成圖形。選擇迷你圖項将會打開圖表資料視窗。将值設定為SalesAmount并将類别組設定為CalendarYear和CalendarQuarter,最終視窗如圖6-9所示。

    9

    圖6-9.圖表資料視窗

    就是這麼簡單!我們已經生成了報表,我們已經可以看到指定人的銷售額趨勢。我們還可以使用資料條來實作類似的功能,使用資料條和使用迷你圖設定的屬性是一樣的,但資料條看上去更加的柱狀風格。

儀表盤完成

    你已經成功的幫助了你的同僚完成了儀表盤,準開始準備享受周末。你已經學會如何使用訓示器和迷你圖來完成一個儀表盤。既然我們在報表中展示了資料,我們還應該将其美化一番。現在是時候來和你的經理談談大BOSS還需要什麼功能了。你可以在本系列的下一篇文章中将你所學到的知識進行練習。

本文轉自CareySon部落格園部落格,原文連結:http://www.cnblogs.com/CareySon/archive/2012/03/02/2377429.html,如需轉載請自行聯系原作者