羅劍
摘 要: 針對現代企業海量數據管理的目標和任務,從日益增長的用戶需求出發劃分人力資源數據倉庫主題,搭建數據獲取、數據管理和數據使用三個遞進層次的商務智能平臺架構。結合某大型國有物流企業SAP-BI實施項目案例,全面闡述了數據倉庫建設中基于擴展星形結構信息立方體的數據抽取、清洗、轉換和加載的完整過程,指出了系統建設中增量數據傳輸和性能優化手段等關鍵技術點。實踐表明,該商務智能平臺能夠協助企業人力資源戰略決策,有效提升管理水平。
關鍵詞: 人力資源; 商務智能; 數據倉庫; 擴展星形結構; 信息立方體
中圖分類號:TP392 文獻標志碼:A 文章編號:1006-8228(2014)04-18-03
Abstract: To deal with the object and assignment for massive data management of modern enterprise, HR data warehouse themes have been partitioned according to increasing demand of customers. BI platform architecture is constructed from three progressive stages including data acquisition, data management and data usage. Combing with a SAP-BI case of one large state-owned logistics company, the procedure of extracting, washing, transferring and loading in data warehouse based on InfoCube is illustrated completely. The key technology including increment transmission and performance optimization etc in system implementation is pointed out. The practice results show that the BI platform can assist HR strategic decisions and enhance the management level effectively.
Key words: human resource; BI; data warehouse; extended star schema; InfoCube
0 引言
人力資源管理信息化(e-HR)[1]推動了從行政事務管理向戰略性人力資源管理的轉變,同時大幅度提高了企業人力資源管理的工作效率和技術含量。然而,e-HR系統面向一線工作人員,所生成的日常事務型明細數據無法幫助決策者全面和實時地掌握企業級的多維統計信息,數據倉庫很好地解決了這個問題。數據倉庫是一個面向主題的、集成的、非易失的、隨時間變化的支持管理人員決策的數據集合[2],包含粒度可變的企業數據。以決策者需求和未來發展為導向設計和構建數據倉庫是企業商務智能解決方案的堅實基礎。本文以筆者參與實施的某大型國有物流集團人力資源商務智能項目為例加以闡述,該項目基于SAP-BI[3]套件開發完成。其中的SAP-BW是一整套覆蓋數據倉庫建設周期的產品包,包括數據倉庫的建模、數據集成和轉換、數據存儲和管理、元數據管理和數據可視化分析等產品。
1 建設目標
現階段該集團公司已經實現基于SAP 產品的ERP業務和財務系統,全面覆蓋下屬各行業子公司,集團整體信息化建設已然跨越集中建設階段,正處于成熟應用向創新應用轉變的關鍵時期。隨著SAP ERP系統的上線運行,產生了海量的事務型數據,這對數據的管理和利用提出新的挑戰,建設為決策支持系統和聯機分析應用服務的數據倉庫成為當前的緊迫任務。因此,面向集團管理層的人事管理需求,基于維度劃分數據粒度,完成人事管理日常數據的抽取、轉換和加載,構建多維星形數據模型,是人力資源數據倉庫建設實施的首要目標和任務。
2 建設主題
該集團公司人力資源管理相關的需求共涉及人力資源領域四個主題,分別為:人事管理、組織管理、時間管理和薪酬管理。人事管理是對企業人才結構的總體評價。作為集團職能部門,人力資源部需統計、查詢員工數據,如人員結構、員工合同、在崗職工分布、新增人員總量及錄用、人員減少情況和人員退休預測等,以便為公司的各項人力資源決策提供可靠的基礎依據。組織管理可實現下屬公司的定員編制數、機構數量的統計,可以根據機構類別、機構規格、經營類型、機構經濟類型、專業板塊、專業子板塊、機構專業隊伍類別等維度進行組合分析。時間管理可實現員工和部門的匯總上班天數、休假天數、加班天數和出勤/缺勤天數等數據統計,為薪酬核算和績效考核提供相關支持。薪酬管理幫助人力資源部及時掌握下屬公司各類員工的工資數據和福利數據,在公司層面掌控成本,為與市場和行業的工資福利進行比較提供有力的數據依據。
3 藍圖設計
3.1 BI架構
SAP商務智能系統架構如圖1所示。它以數據倉庫、在線分析處理(OLAP)、數據挖掘三種技術的整合為基礎,建立企業數據中心和業務分析模型,以提高企業獲取經營分析信息的能力。
系統架構由四部分組成。
⑴ 數據源:系統的數據來源。通常包括企業內部信息和外部信息,既存放于關系數據庫中的各種業務處理數據和各類文檔數據。
⑵ 數據存儲與管理:數據倉庫的關鍵點。數據倉庫的組織管理方式決定了它有別于傳統數據庫,同時也決定了其對外部數據的表現形式。
⑶ OLAP服務:對分析需要的數據進行有效集成,按多維模型予以組織,以便進行多角度、多層次的分析,并發現趨勢。
⑷ 前端工具:主要包括各種報表工具、查詢工具、數據分析工具、數據挖掘工具以及各種基于數據倉庫或數據集市的應用開發工具。
3.2 物理模型
與用戶視覺交互的前端數據常常以報表的形式展現,這些報表是高度匯總的數據集合,源頭是SAP-HR業務系統的明細數據。不失一般性,下面以組織管理主題中的“職務層級分布表”為實現目標,具體探討數據倉庫物理模型的建立過程。內容如表1所示。必須指出的是本文為便于討論,需要從案例報表出發建模,而在實際項目中應從多個報表歸納出主題,不能為了實現單個報表進行大量的建模工作。
3.2.1 數據源
數據倉庫本身不產生數據,所有存儲的數據都來源于SAP-HR業務系統。數據源是一個指向SAP-HR業務系統數據存放地址的指針,通過該指針可以將業務明細數據抽取到數據倉庫永久存儲區域(PSA)。結合職務層級分布表內容,對應的數據源如表2所示。業務數據源0HR_PA_0中只包含必要的關鍵字段,說明在某個月份某個員工在崗,至于該員工的具體信息可以到對應的主數據源中查找。這種二維數據表間的關聯關系正是關系數據庫的典型特征,說明數據源指向的SAP-HR業務系統后臺結構是基于關系數據庫構成。
3.2.2 信息對象
信息對象主要用于存放主數據信息,有特征和關鍵值兩類。特征是用來描述事物主要特點的字段,具有惟一性。在InfoCube中被分配到每一個維度,一個維度可以有多個特征,也稱為維度特征。關鍵值存放在InfoCube的事實表中,用來對量化數據進行描述。職務層級表用到的信息對象如表3所示,數據抽取轉換加載來源于表中對應的數據源。
3.2.3 數據存儲對象
從數據源抽取的存放在數據倉庫PSA中的原始業務數據只是簡單的拷貝,不能直接使用,數據存儲對象(DSO)提供了前期的數據清洗和轉換。DSO仍然是二維表結構,存儲明細數據,支持關鍵值的覆蓋和合計。為了將業務數據的一條記錄從最初的“日歷年/月”和“人員編號”兩個特征擴展到包含“公司代碼”、“組織單位”、“員工組”、“員工子組”等特征,轉換規則先后使用了兩層DSO結構,如圖2和圖3所示。圖2的轉換規則從數據源0HR_PA_0至第一層DSO,其中關鍵值“員工人數”直接設置為常數1,因為一條員工記錄就對應一名員工。圖3中增加的特征來源于讀取的員工主數據,讀取的依據是人員編號和日歷年/月的聯合主鍵,這種特征屬性的時間相關性是人力資源業務的鮮明特點。比如某個員工在某個時間段屬于某個組織單位,在另一個時間段完全可能屬于不同的組織單位,其他特征的情況類似。因此必須是人員編號和日歷年/月的聯合主鍵才能惟一確定具體特征值。
再者可以看出第二層DSO通過讀取主數據使得二維表冗余度大大增加,數據倉庫的這種設計方法和關系數據庫設計模式大相徑庭,卻為將平面二維數據加載到多維信息立方體奠定了良好的基礎。
3.2.4 信息立方體
InfoCube是根據最終用戶請求塑造的多維擴展星形結構,是最主要的用于報表的模型。它通過關聯多張二維平面表實現多維結構,支持快速而高效的直接數據存取。InfoCube中心是事實表,如圖4所示,由時間維、公司組織維、崗位維和員工維的id和關鍵值“員工人數”構成。在事實表周圍是維表,每個維表結構由事先指定的若干特征維度sid組成,維表記錄數等于特征維度記錄數的笛卡爾積。主數據表不在InfoCube中,它們通過sid表和維度表關聯。
4 關鍵技術
4.1 增量傳輸
從數據源抽數到PSA的方式根據數據量的多少分為兩種。一種是全量抽數,既每次都將可用的數據全部抽取,已抽的數據會重復抽取,這種方式適用于數據量較小的情況;另一種方式是增量抽取,只抽取上次抽完后增刪改過的數據,已抽的數據不會再次抽取,這種方式適用于大數據量的情況。人事數據倉庫的數據源如人事管理和培訓活動管理使用全量抽數,時間管理和工資核算使用增量抽數。這里需注意,因為人事涉及的增量數據源使用附加鏡像(ADD),第一層DSO關鍵值轉換規則不能是覆蓋只能是合計。此外,盡管采用全量抽數的人事數據源的數據量相比后勤和財務等模塊的數據量為小,但是實際項目中仍然有可能很龐大,用戶不愿意接受每次低效的重復抽數,可以采用“假增量”的抽取模式,既只抽取距今一個時間段的數據,規定用戶超過該時間段的數據不能增刪和修改。該時間段內的數據其實還是全量抽取,但是也僅抽取這個時間段的數據量,如此大大降低了從業務系統抽數的負載。
4.2 性能優化
數據倉庫中信息立方體蘊含的多維度海量數據使得實時查詢成為奢望,一般情況是滯后若干時間獲取統計數據。可以主要從以下兩個方面考慮加快查詢速度。
⑴ 建立聚集。聚集是數據倉庫經常使用的性能優化方法,是以空間換時間的方法。對信息立方體的數據按照指定的子集進行數據匯總,匯總數據存放在不同的獨立事實表中,根據常用的查詢種類,一個基本事實表可以設置多個聚集事實表。在報表運行中,系統自動根據報表的查詢維度找到最合適也就是數據量最少的聚集事實表讀取數據。由于數據量的減少,降低了報表的運行時間。
⑵ 使用虛擬信息提供者。可以利用BI中的各種虛擬的信息提供者來把不同的數據對象,如DSO或信息立方體的數據融合在一個虛擬的信息提供者中。在信息立方體中存放基于關鍵指標的聚集數據,在數據存儲對象中存放詳細的業務數據。通過追溯的功能,可以瀏覽不同階層的聚集或明細數據。這樣的設計保證了匯總數據與詳細數據的一致性,提高了數據訪問的效率,降低了數據的冗余。
5 結束語
目前數據倉庫技術已趨成熟,許多產品供應商推出了商品化軟件,包括ORACLE、IBM、MICROSOFT、SAS、TERADATA、SAP等。由于國外企業率先使用ERP系統且更早注重基于數據的分析和企業管理決策的支持,因此數據倉庫產品被廣泛應用于國外企業的數據管理領域。比較而言,國內企業對于數據倉庫的需求和建設仍處于起步時期,且側重點在于應用,既如何選擇合適的國際化產品并結合自身業務環境特點二次開發構造合適的數據倉庫,為數據挖掘和商務智能提供便利條件。此外,能夠極大提升查詢性能的內存計算技術[4]開始嶄露頭角,這將是下階段商務智能領域發展的方向。
參考文獻:
[1] 鄔錦雯.人力資源管理信息化[M].清華大學出版社,2006.
[2] William H.Inmon.Building the Data Warehouse[M]. USA:Wiley,2007.
[3] 陳永杰.SAP商務智能完全解決方案[M].機械工業出版社, 2008.
[4] HANA中國社區[EB/OL].http://www.hanainchina.net/.