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


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

    “我整個周末都需要加班”她抱怨道。我需要在周末結束之前給大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還需要什么功能了。你可以在本系列的下一篇文章中將你所學到的知識進行練習。

----------------------------------------

原文鏈接:Designing a Dashboard - Level 6 in the Stairway to Reporting Services

Translated by:CareySon


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM