前言
由於工作的原因,有一段時間沒有發新的隨筆了,最近使用了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