前言
由於工作的原因,有一段時間沒有發新的隨筆了,最近使用了SharePoint PerformancePoint做了一些報表,與大家分享經驗。
本文完全原創,轉載請說明出處,希望對大家有用。
閱讀目錄
內容
開發環境
操作系統:Windows Server 2008R2
數據庫:SQL Server 2008R2
SharePoint Server 2010
BI目標
需求:
- 根據銷售數據顯示所選年份的月銷售額
- 根據銷售數據顯示所選年份銷售額前十的供應商
- 根據銷售數據顯示所選年份每個供應商每月的銷售額(包括合計)
根據上述需求,我們可以分析出此報表需要至少2個緯度:時間維度,供應商維度。
首先設計報表的呈現方式,為了更好的對比所選年份的月銷售額,我們選擇柱狀圖。
銷售額前十的供應商選擇餅圖來體現不同的百分比。
每個供應商每月的銷售額選擇表格來呈現。
其他問題:多數據源,需要使用ETL將多個數據源數據匯總。
BI實施
首先使用SSIS創建ETL,用來將多個數據源處理后匯總。
這里我們不做詳細解釋,因為SSIS功能很強大,希望大家多做研究,我只對我自己做的進行截圖並解釋一下:
上圖顯示的是ETL中最重要的數據處理階段,根據需求,我們從3個不同的數據庫中取得數據,經過數據轉換(為了數據格式統一),匯總到新的數據庫(可以認為是數據倉庫)。
接下來是重要的數據分析階段,使用SSAS構建多維數據庫
根據BI目標中的需求,我們根據ETL匯總的數據生成2個緯度的Cube
分別是Dim.date,Dim.supply
Dim.date維度中包括有日->月->年
Dim.supply維度主要是供應商的信息
到這里我們數據已經准備就緒,需要使用PerformancePoint來呈現數據
首先要新建數據源,連接我們之前建好的多維數據庫
接下來是具體的報表操作
1、新建1個年份篩選器(year)
按照個人需求,選擇篩選器的值,這里選擇成員選擇器,也就是說篩選器的值是由多維數據庫中的維度填充。
2、新建一個Analytic chat報表
如圖:
我們可以使用PerformancePoint提供的可視化設計頁面,將所需要呈現的數據分別拖拽到行、列以及數據背景
如圖:
3、最后新建一個Dashboard,用來承載我們做好的報表
效果如圖:
按照需求,我們還需要做2個報表,制作方法與上面的示例相同,僅數據選擇上有些不同,按照自己的需要添加即可。
有時我們只用PerformacePoint提供的可視化界面無法實現我們想要的,可以點擊界面中的Query(查詢)標簽,可以看到報表的MDX,這樣就可以更加自由的編輯了。
需要注意的是,如果自定義了MDX,參數也需要自定義,否則無法識別。
如圖:
這樣我們的報表已經創建完成,剩下的工作就是測試和優化了。
下面貼一下我做好的頁面效果:
總結
PerformancePoint優勢:
- 作為報表呈現的一種方式,簡單、豐富、直觀
- 支持多種數據源
- 支持分析報表鑽取
PerformancePoint限制:
- 報表樣式無法定制;
- 只能作為基礎報表的一種方式,同時必須承載於SharePoint