摘要:分析了數據倉庫的特點,并根據鋼鐵銷售統計系統的業務需求給出了其系統結構和數據倉庫模型,以交貨單為中心,前續包括合同和訂單,后續包括結算,以及收發存和庫存帳齡,最后指出了其關鍵技術及實現方法,為管理層在銷售決策上提供有力支持。
關鍵詞:數據倉庫;聯機分析處理;多維表達式;鋼鐵銷售;統計系統
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)28-0001-03
The Statistical System of Sales for Steel Based on Data Warehouse
DENG Cai-ying,XIAO Ji-yi,CHEN Xing
(College of Computer Science and Technology, University of South China, Hengyang 421001, China)
Abstract: Analysis the characteristics of data warehouse,and in accordance with the requirements of statistical system of steel for sales,we gives its architecture and data warehouse models,around delivery orders, including contracts and orders, invoices and storages and the ageing of storages,at last we concluded its key technologies, providing strong support of sales decision support for management.
Key words: data warehouse; OLAP; MDX; sales for steel; statistical system
1 引言
隨著國內鋼鐵企業信息化建設,各鋼鐵企業在開展MES、ERP等系統的應用過程中,積累了大量的數據信息,可是這些數據信息大多是針對業務部門的,面對大量業務數據,只有將數據轉換為有價值的信息與知識,并投入到企業決策管理過程,管理信息化的效益才能體現出來,利用數據倉庫、數據挖掘技術對數據進行分析就顯得十分必要,而且通過這種方式,也能夠讓領導更加充分地體會到信息化所帶來的成效。當人民把注意力都放在擴大鋼鐵生產上,鋼鐵銷售恰恰能更加合理的平衡需求和供給,目前我國鋼鐵銷售有銷售區域分散、運輸方式單一且靈活性差和制約性強、特殊需求種類多、產成品存在不同程度的深加工、倉儲數量大等特點,因此,面向銷售這個大主題的數據倉庫能很好的解決這些問題,其多元化的信息采集與處理手段確保決策的信息支持,強有力的分析工具又為決策層提供了科學的依據,從而最大限度地降低了決策的風險。在企業未來的業務規劃和信息系統的規劃中,可以進一步通過實施商務智能和決策支持平臺,提升企業的管理決策能力。
2 數據倉庫的特點
數據倉庫技術是把多個數據源的歷史數據根據某些規則進行集成,并且按照某個主題進行了重組,形成是一個相對穩定的、反映歷史變化的數據集合,用于支持管理決策。根據數據倉庫的這個含義,數據倉庫擁有以下四個特點:
1) 面向主題。數據倉庫中的數據是按照一定的主題域而不是業務系統進行組織的。主題是一個抽象的概念,比如鋼鐵銷售中的合同訂單,交貨單以及發票,隨著企業的不同而有所不同,是指用戶使用數據倉庫進行決策時所關心的重點方面,一個主題通常與多個操作型信息系統相關。
2) 集成的。構建數據倉庫是將多個異構數據源,包括關系數據庫,平面文件和聯機事務記錄集成在一起,比如鋼鐵企業的ERP,MES等系統。各種業務系統間接或互不關聯,其操作平臺和操作系統可能是不同的;文件外觀布局、字符編碼表示方式、區域命名習慣等都是不同的。因此,在將不同來源的數據存儲到數據倉庫之前,需要進行數據抽取、清理,必要時還要進行系統加工、匯總和整理,必須消除源數據中的不一致性,以保證數據倉庫內的信息是關于整個企業的一致的全局信息。
3) 非易失的。數據倉庫的數據主要供企業決策分析之用,所涉及的數據操作主要是數據查詢,不需要事務處理,恢復和并發控制機制,一旦某個數據進入數據倉庫以后,一般情況下將被長期保留,也就是數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載。
4) 時變的。數據存儲從歷史的角度提供信息,一般是5-8年的數據。數據倉庫的目的決定了它除了包含當前的數據之外,還必須包含歷史信息,數據倉庫中的數據都隱式或顯式的包含數據元素,通過這些信息,可以對企業的發展歷程和未來趨勢做出定量分析和預測。
3 鋼鐵銷售系統的構架方案
3.1 需求分析
決策支持系統需要搭建決策支持平臺,利用數據倉庫、數據挖掘等技術,將合同、訂單、交貨單、結算發票以及相關數據進行有機整合,實現匯總信息查詢、宏觀報表、預警、預測等功能,為相關領導提供決策支持服務。
鋼鐵銷售子系統要根據市場的信息進行綜合分析,預測和實證,以準確預測企業的有效市場需要;根據銷售實績,從中發現趨勢特點和相關性,調整生產結構和提高銷售業績;根據出廠運輸數據進行各項跟蹤分析,提高服務質量;對客戶關系進行管理,實現營銷資源的最佳匹配;交貨期校驗確定合同按期交貨能力以及實現市場需求與生產能力的最優配置;從庫存和帳齡等方面全方位管理庫存達到生產和銷售合理涵接。
鋼鐵銷售子系統要實現銷售相關業務數據的自動抽取、清洗、轉換計算、實現歷史數據的自動匯總和分類查詢,實現圖形分析(包括柱狀圖,餅圖及線條圖等),實現可上卷、下鉆及切片的OLAP分析,定點預警和對比分析預測等。
明確了系統的建設必須具備如下功能:
1) 不同的數據源(SAP,熱軋,冷軋,運輸系統等及手工數據)的相關數據按照規則自動加載到數據倉庫;
2) 統計合同量和需求計劃量;
3) 統計計劃內訂單量和計劃外訂單量;
4) 統計計劃外發貨量,計劃內發貨量(包括按時發貨、提前發貨和延后發貨);
5) 統計結算量和結算金額以及預收金額;
6) 計算庫存(包括實物庫存和在途庫存);
7) 計算帳齡(一個月、兩個月、三個月及三個月以上)和周轉率。
3.2 數據倉庫總體架構
如圖1所示的結構,首先從各個數據源中將相關數據通過ETL工具抽取到ODS(Operational Data Store)中,在這一階段, 只進行數據的增量、刪除(或作廢)處理, 過濾掉業務邏輯不需要的數據,并且不對數據進行轉換操作;
然后,把數據從ODS抽取到數據倉庫中,數據倉庫包括BaseLine和DataMart,在這一階段,按照業務需求對數據進行轉換、清洗,形成要求的有多個維度的最小粒度數據,再把它加載到數據倉庫的BaseLine中,對使用頻率較高的部門數據根據不同分析角度匯總到DataMart中,在數據倉庫的基礎上可以實現OLAP(聯機分析處理),最后,通過B/S模式把統計數據通過WEB服務器在客戶端表現出來。
4 數據倉庫建模
4.1 維度
以鋼鐵銷售分析的業務狀況統計為例子包括以下維度(見表1):
表1 鋼鐵銷售統計系統的維度表
■
時間:對年、季、月、日不同水平上的聚集。
客戶:客戶類型(重點客戶、重點工程客戶、戰略客戶、其他客戶等),客戶所在區域,根據客戶所屬客戶類型和所在區域、對區域不同等級水平上的聚集及類型的切片。
物料:統計產品的類型,不同類型產品的聚集。
產成品屬性:對產品的不同規格進行統計。
運輸方式:按不同運輸條件統計
4.2 星形圖
維度表提供了星形圖的要求,并且指出了以下三個主要的實體類型:
事實實體:數據倉庫中最重要的實體,記錄操作的細節信息,面向中心主題內容,包括事實的名稱或度量,以及每個相關維表的碼。
層次實體:維度的一種,通過一對多的關系與類別實體相連的實體,描述了數據模型中的層次關系,通常可以合并進類別實體中。
類別實體:維度的另一種,通過一對多的關系與事實實體直接聯系,不需要劃分層次,由多個平行類別組成。
圖2所示為鋼鐵銷售統計系統的星型圖。
4.3數據倉庫邏輯模型的建立
有了業務狀況統計的星形圖就可以為其建立基于數據倉庫的邏輯模型(見圖3)。
5 關鍵技術
5.1 數據抽取
建立鋼鐵銷售統計系統的首要步驟是把數據從SAP和其他數據庫系統中提取出來,為此必須經過轉換和清洗,才能把它加載到數據倉庫中。根據系統的特點,可以確定如下的抽取和清洗的原則:
1)數據從數據源到ODS層,只對數據有選擇的過濾抽取,并不更改具體數據元素,保留數據的原始性,只有數據加載到數據倉庫中才對數據進行轉換處理。
2)對數據增量處理(包括新增和修改),如源表有時間戳,則按時間進行增量處理;如源表沒有時間戳,則按主鍵全量比較進行增量處理。
3)對數據刪除(或作廢)處理,如源表有刪除標志,使用標志過濾刪除數據;如源表沒有刪除標志,則查看日志找出被刪除記錄再過濾;如果沒有任何標志記錄,則需先刪除目標表數據再重新加載。在數據倉庫中不保留刪除的數據,但維度數據例外。
4)對主數據源SAP的表采取不同的連接方式,對簇表和透明表,使用ETL工具的專門接口連接,比如owb connector for SAP,對物理表,直接連接數據庫。
5)抽取程序一般在晚上執行,通過調度程序執行,例如 ORACLE的WorkFlow。
在數據進入數據倉庫過程中,還包括數據加工和計算,得到符合要求的數據。
5.2 維度的確定和度量的計算
在鋼鐵銷售系統的設計中需要確定哪些維度,這就可以任意組合查詢分析數據,而不是利用第三范式;然后確定合理的數據粒度以及粒度的層次,無論從宏觀還是具體數據能更好的呈現在決策者面前。建立維度恰當與否關系到數據倉庫中數據的冗余,全面和快速訪問;粒度及層次則能幫助靈活訪問不同等級的數據。
這里的度量更多的是作為數值函數,主要是有效的計算分布和代數的聚集函數,比如:SUM(),AVG(),COUNT()等。
5.3 多維數據的OLAP操作
OLAP為交互數據查詢和分析提供了友好的環境,在系統中,主要包括上卷、下鉆、切片、切塊以及轉軸操作。
例如在一個鋼鐵銷售量OLAP分析中,數據的向上卷,切片和切塊操作采用的MDX語句和SQL語句:
上卷:
SELECT {DESCENDANTS(Time.[2006].[Q1], Time.[Month],SELF)} ON COLUMNS,
{[measures].[交貨量], [measures].[結算金額]} ON ROWS
FROM Sales
Select 時間 ,sum(交貨量),sum(結算金額)
from銷售量統計表
group by時間;
切片:
SELECT {Order([Customers].[name],ASC)} ON COLUMNS,
{[measures].[交貨量], [measures].[結算金額]} ON ROWS
FROM Sales
Select 客戶名稱,sum(交貨量),sum(結算金額)
from銷售量統計表
group by客戶名稱
order by 客戶名稱;
切塊:
SELECT {Order([Customers].[type],ASC)} ON COLUMNS,
{[measures].[交貨量], [measures].[結算金額]} ON ROWS
FROM Sales
Where ([Time].[2006].[Q1])
Select客戶類型,sum(交貨量),sum(結算金額)
from銷售量統計表
where時間 = ‘2006年第一季度’ group by客戶類型
order by 客戶類型;
6 結束語
本文主要針對鋼鐵企業銷售模塊中的一部分業務的實現,對數據的OLAP分析,對深層次的數據挖掘和分析是鋼鐵企業未來發展的重點。
鋼鐵銷售統計分析系統利用數據倉庫技術,針對ERP系統大量業務數據提取相關數據并有機整合,能準確預測客戶,優化生產結構,提高運輸物流水平,調整庫存達到資源優化配置,為高層決策提供依據,使鋼鐵銷售在市場能更好的競爭。
參考文獻:
[1] 熊齊,潘梅森.基于數據倉庫的銀行卡統計系統[J].微計算機信息,2006,12:223-224,188.
[2] Harding J A,Shahbaz M,Srinivas,Kusiak A. Data Mining in Manufacturing:A Review[J].Journal of Manufacturing Science and Engineering,2006,969-976.
[3] Paulraj P.數據倉庫基礎[M].電子工業出版社,2004.
[4] 李玉海,張大斌,呂少鵬.基于數據倉庫技術的電信市場決策支持系統探討[J].計算機應用研究,2005,6:80-82,85.