Kỹ thuật ETL trong kho dữliệu

Một phần của tài liệu Xây dựng kho dữ liệu và báo cáo quản trị BI cho tập đoàn VINGROUP với hệ thống SAP BOBI (Trang 27)

Dữ liệu trong hệ thống nguồn có thể rơi vào hai loại :

- Giá trị hiện tại : Hầu hết các thuộc tính trong các hệ thống nguồn rơi vào loại này. Ởđây giá trị được lưu trữ của một thuộc tính mô tả giá trị của thuộc tính ngay thời điểm nàycủa thời gian. Các giá trị tạm thời hoặc nhất thời. Khi các giao dịch xảy

ra, các giá trị thayđổi. Không có cách nào để biết bao lâu giá trị hiện tại sẽ giữ nguyên hay sẽ thay đổi.

- Trạng thái định kì: Loại này không phổ biến như thể loại trước. Trong loại này, giátrị của một thuộc tính được giữ như một trạng thái mỗi khi có thay đổi xảy ra. Tại mỗi thờiđiểm, gíá trị trạng thái được lưu trữ với tham chiếu đến thời gian khi giá trị thay đổi.

2.3.2 Kỹ thuật trích xuất dữ liệu

2.3.2.1Các kỹ thuật trích xuất dữ liệu thời gian thực

Nắm bắt dữ liệu qua bản ghi giao dịch : Tùy chọn này sử dụng bản ghi giao dịch của hệquản trị cơ sở dữ liệu được duy trì cho việc khôi phục khi có lỗi xảy ra. Mỗi giao dịch thêm,cập nhật hay xóa một bản ghi trong bảng cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu ngay lậptức sinh ra một bản ghi log.

Nắm bắt thông qua trigger cơ sở dữ liệu: Tùy chọn này cũng được áp dụng cho các hệthống nguồn dữ liệu sử dụng ứng dụng cơ sở dữ liệu. Ta có thể tạo các trigger cho tất cả cácsự kiện mà ta cần nắm bắt. Đầu ra của trigger được ghi vào một tệp độc lập và sẽ được sửdụng để trích xuất dữ liệu cho kho dữ liệu. việc tạo và duy trì trigger trong suốt các quátrình của hệ thống nguồn sẽ tăng thêm các chi phí tài nguyên và thời gian của hệ thống nguồn.

Nắm bắt trong các ứng dụng nguồn: Kỹ thuật này được xem như nắm bắt dữ liệu ứng dụnghỗ trợ. Nói cách khác, các ứng dụng nguồn được thực hiện để hỗ trợ cho việc nắm bắt dữliệu cho kho dữ liệu. Ta phải chỉnh sửa các chương trình ứng dụng liên quan được viết chocác têp và cơ sở dữ liệu nguồn.

2.3.2.2Các kỹ thuật trích xuất dữ liệu chậm

Nắm bắt dựa trên ngày tháng và nhãn thời gian: Mỗi khi một bản ghi được tạo ra hoặc cậpnhật nó có thẻ được đánh dấu bởi một nhãn biểu diễn bởi ngày và thời gian. Nhãn thời giancung cấp cơ sở cho việc chọn ra các bản ghi cho việc trích xuất.

Trích xuất bằng cách so sánh tập tin: Nếu các kỹ thuật trên không khả thi cho tập tin nguồncụ thể, khi đó kỹ thuật này được xem như biện pháp cuối cùng. Kỹ thuật này cũng được gọivới tên khác là kỹ thuật so sánh sự khác nhau giữa ảnh chụp bởi vì nó so sánh 2 ảnh chụp của nguồn dữ liệu.

2.3.3 Kỹ thuật làm sạch và chuyển đổi dữ liệu 2.3.3.1 Chức năng 2.3.3.1 Chức năng

Trích chọn: Nhiệm vụ này nằm ở phần đầu của toàn bộ quá trình chuyển đổi.

Tách/Nhập: Nhiệm vụ này bao gồm các loại thao tác dữ liệu để thực hiện

việc chọn cácphần dữ liệu nguồn.

Chuyển đổi: Chuẩn hóa giữa dữ liệu trích xuất từ các nguồn khác nhau và tạo ra

các trườngmà người dùng thể sử dụng và có thể hiểu được.

Tổng hợp. Khi việc lưu trữ dữ liệu tổng hợp được yêu cầu thay vì lưu trữ dữ liệu ở mức thấp.

Làm giàu dữ liệu: Nhiệm vụ này sắp xếp và đơn giản hóa các trường riêng biết

để làm chochúng trở nên hữu dụng hơn cho kho dữ liệu. 2.3.3.2 Các kiểu chuyển đổi

- Sửa định dạng

- Gộp thông tin.

- Chuyển đổi thời gian, đơn vị đo, Bộ ký tự.

- Tổng hợp.

- Xóa bản ghi trùng.

2.3.4 Tải dữ liệu vào kho dữ liệu 2.3.4.1Các loại tải dữ liệu 2.3.4.1Các loại tải dữ liệu

- Tải đầu tiên: Tập hợp tất cả các bảng kho dữ liệu cho lần đầu tiên.

- Tải bổ sung : Áp dụng trên những thay đổi khi cần thiết một cách định kì.

- Làm tươi toàn bộ: Xóa hoàn toàn nội dung của 1 hoặc nhiều bảng và tải lại với dữ liệu mới (Tải đầu tiên là một làm tươi toàn bộ).

2.3.4.2 Quy trình tải dữ liệu

- Có 4 mô hình tải dữ liệu : Load, Append, Destructive Merge, Constructive Merge.

Load: Nếu bảng mục tiêu đã tồn tại và dữ liệu đã tồn tại trong bảng, quá trình tải sẽ xóa dữliệu đã có và tải dữ liệu từ tập tin đến. Nếu bảng đã rỗng trước khi tải, tiến trình tải đơn giảntải dữ liệu từ file đến.

Append: Ta có thể coi việc tải append giống như một mở rộng của Load. Nếu dữ liệu đãtồn tại trong bảng, tiến trình append sẽ thêm vô điều kiện các dữ liệu vào, giữ nguyên dữliệu hiện có trong các bảng mục tiêu. Khi một bản ghi trùng với một bản ghi đã có, ta có thểxác định cách xử lý dữ liệu đẩy trùng. Các bản ghi đầu

vào có thể cho phép thêm vào như làdữ liệu trùng. Trong trường hợp khác, bản ghi trùng ở đầu và bị loại bỏ trong quá trình append.

Destructive Merge: Trong mô hình này,ta tải dữ liệu đầu vào vào bảng dữ liệu đích. Nếukhóa chính của bản ghi đầu với giống khóa của một bản ghi đã có, khi đó nó cập nhật bảnghi đích tương ứng. Nếu bản ghi đầu vào là một bản ghi mới không trùng khóa với bản ghiđã có, khi đó bản ghi được thêm vào bảng dữ liệu đích.

Constructive Merge: Chế độ này hơi khác so với Destructive Merge. Nếu khóa chính củamột bản ghi trùng với khóa của bản ghi đã có, để lại bản ghi này, thêm bản ghi mới và đánhdấu bản ghi thêm mới như bản ghi thay thế cho bản ghi cũ.

- Quy trình tải

Tải ban đầu (Initialization Load): Với lần chạy đầu tiên của tải ban đầu ta sử dụng kiểu tải Load, sau đó tiếp tụcvới chế độ Append.

Tải gia tăng (Delta Load): Các ứng dụng liên tục thay đổi theo các hệ thống nguồn. Vì vậy, ta cần mộtphương pháp để nắm bắt được chu kỳ thay đổi.Nếu nhãn thời gian được xem như một phần khóa chính hoặc nếu nhãn thời gian,khi đó cấu trúc này có thể được sử dụng để giữ chu kỳ tự nhiên của các thay đổi. Sử dụngConstructive Merge.Các bản ghi đã có có thể xóa bỏ và thay thế bằng dữ liệu mới. Chế độ này được ápdụng cho bất kỳ bảng mục tiêu nào mà bảng mục tiêu lịch sử không quan trọng. Sử dụngDestructive Merge.

CHƯƠNG III. XÂY DỰNG KHO DỮ LIỆU VÀ BÁO CÁO BI TRÊN HỆ THỐNG SAP BOBI

Ở chương I và II, luận văn đã trình bày về các khái niêm cơ bản Kho dữ liệu và kỹ thuật ETL. Trong chương III, luận văn sẽ trình bày việc thực hiện các lý thuyết trên vào thực tế để xây dựng kho dữ liệu trên hệ thống SAP BW cho việc tạo báo cáo BI trên hệ thống SAP BOBI cho tập đoàn VIN GROUP.

3.1 Kiến trúc Kho dữ liệu SAP BW

SAP BWlà một giải pháp của SAP cho việc xây dựng Data warehouse rất mạnh mẽ và có nhiều ưu điểm như dễ dàng triển khai, cung cấp các công cụ ETL chính xác đơn giản. Nó thực sự phù hợp và là xu hướng tất yếu cho các công ty đã triển khai hệ thống SAP ERP.

Hình 3.1 – Kiến trúc SAP BW

SAP NetWeaver BW cung cấp cách thức linh hoạt của việc tích hợp dữ liệu từ nhiều nguồn khác nhau. Tùy thuộc vào các kho dữ liệu dữ liệu chiến lược có thể được chiết xuất từ các nguồn và tải nó vào hệ thống SAP BW, hoặc truy cập trực tiếp dữ liệu trong nguồn, mà không lưu trữ nó thể chất trong các kho dữ liệu doanh nghiệp.

Hình 3.2 – Luồng dữ liệu trong SAP BW

Extraction and Loading(Chiết xuất và tải)

Khai thác và chuyển giao quy trình để các lớp ban đầu trong SAP BW cũng như truy cập trực tiếp vào dữ liệu là có thể sử dụng các giao diện khác nhau, tùy thuộc vào nguồn gốc và định dạng của dữ liệu. SAP NetWeaver BW cho phép tích hợp của cả SAP và dữ liệu từ các hệ thống khác .

Transformation (chuyển đổi)

Với biến đổi, dữ liệu được nạp trong hệ thống SAP BW bằng cách sử dụng giao diện cụ thể được chuyển từ một định dạng file nguồn sang một định dạng mục tiêu trong các lớp kho dữ liệu . Việc chuyển đổi cho phép chúng ta củng cố, làm sạch và tích hợp dữ liệu, do đó đồng bộ hóa nó và cho phép nó được đánh giá.

Điều này được thực hiện bằng cách sử dụng quy tắc cho phép bất kỳ mức độ phức tạp khi chuyển dữ liệu. Các chức năng bao gồm một 1 : 1 phân của dữ liệu, việc sử dụng các chức năng phức tạp trong công thức và lập trình tùy chỉnh của quy tắc chuyển đổi .

Dữ liệu nhiều tăng lên theo ngày tháng hoặc ít hơn tùy thuộc vào các vấn đề kinh doanh.

Nạp dữ liệu (Loading)

Bằng cách load dữ liệu vào một kho dữ liệu, hiệu suất trong hệ thống nguồn không bị ảnh hưởng trong quá trình phân tích dữ liệu.

Các dữ liệu có thể được tổ chức trong hệ thống SAP BW được cập nhật theo thời gian. Việc nạp dữ liệu có thể được kích hoạt thủ công hoặc đặt lịch (Schedule). 3.2 Xây dựng Kho dữ liệu cho tập đoàn VIN trên SAP BW.

3.2.1 Yêu cầu bài toán của VIN GROUP

VIN GROUP là một tập đoàn lớn với nhiều công ty thành viên. Yêu cầu của tập đoàn là xây dựng một kho dữ liệu chứa các dữ liệu lớn từ nhiều hệ thống SAP ERP để lên các báo cáo tài chính định kỳ (theo tháng) cho Ban giám đốc công ty, Tổng giám đốc tập đoàn. Với mục tiêu đặt ra:

- Việc trích xuất báo cáo nhanh và chính xác số liệu

- Dữ liệu đã được tổng hợp từ mức chi tiết.

- Báo cáo động theo nhiều chiều phân tích

- Cập nhật đầy đủ chính xác từ hệ thống dữ liệu nguồn

3.2.2 Phân tích thiết kế hệ thống 3.2.2.1 Sơ đồ luồng dữ liệu 3.2.2.1 Sơ đồ luồng dữ liệu

Hệ thống SAP BW cài đặt cho tập đoàn VIN GROUP gồm các Model chứa dữ liệu nghiệp vụ:

REALESTATE Chứa các dữ liệu giao dịch tích hợp của Phân hệ Realestate của hệ thống SAP ERP và dữ liệu lập kế hoạch ngân sách cho thuê Trung tâm thương mại của Phân hệ SAP BPC Planning.

REVENUE Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP FI-GL và dữ liệu lập kế hoạch Doanh thu của Phân hệ SAP BPC Planning.

EXPENSE Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP FI-GL và dữ liệu lập kế hoạch Chi phí của Phân hệ SAP BPC Planning.

CAPEX Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP FI-AA và dữ liệu lập kế hoạch mua bán Tài sản cố định của Phân hệ SAP BPC Planning.

MANPOWER Chứa các dữ liệu tích hợp từ hệ thống Quản lý nhân sự Histaff và dữ liệu lập kế hoạch Nhân sự của Phân hệ SAP BPC Planning.

MATERIAL Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP MM (Material Management) và dữ liệu lập kế hoạch mua sắm, chi phí vật tư của Phân hệ SAP BPC Planning.

FINANCE Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP FI-GL và dữ liệu lập được đẩy sang từ các Model khác. Model lưu trữ các tính toán số liệu lên báo cáo Cân đối kế toán (Balance sheet).

CCPLANNING Chứa các dữ liệu tích hợp từ các Model khác của Phân hệ SAP BPC Planning. Model này lưu trữ các số liệu tính toán phân bổ theo tài khoản kế toán.

FUNDS Chứa các dữ liệu tích hợp từ Phân hệ SAP ERP FI-GL. Các dữ liệu này sẽ được mapping và chuyển sang phân hệ FM của hệ thống SAP ERP FM (Fund Management).

3.2.2.2 Danh sách các Dimension (Chiều phân tích)

Hình 3.4 – Danh sách các Dimension của hệ thống

Việc đưa ra bản thiết kế các Dimension rất quan trọng. Nó là nên tảng để xây dựng các Model theo các chiều phân tích đầy đủ theo yêu câu nghiệp vụ của khách hàng.

Có 7 loại Dimension:

Loại C thể hiện đây là chiều phân tích theo chủng loại (Category, version). Loại A là chiều phân tích theo tài khoản kế toán (Accounting)

Loại E là chiều phân tích theo công ty, thực thể (ENTITY) Loại I là chiều phân tích theo đối tác (INTERCO)

Loại D là chiều phân tích chỉ ra nguồn của dữ liệu (Datasource) Loại T là chiều phân tích theo thời gian (TIME)

3.3. Xây dựng Kho dữ liệu

3.3.1 Quy trình lấy dữ liệu tích hợp cho các chiều phân tích (Dimension) 3.3.1.1. Trích xuất dữ liệu nguồn cho chiều phân tích 3.3.1.1. Trích xuất dữ liệu nguồn cho chiều phân tích

Hệ thống SAP cho phép tạo các Datasource (nguồn dữ liệu) được trích xuất từ các bảng dữ liệu hệ thống nguồn (hệ thống SAP ERP) trước khi đưa sang hệ thống đích (hệ thống SAP BPC) làm công việc chuyển đổi dữ liệu.

Hệ thống SAP ERP có 2 loại Datasource chính đó là những Datasource chuẩn sẵn có của hệ thống. Đối với loại này nếu dữ liệu chưa đúng với yêu cầu nghiệp vụ thì phải thực hiện lập trình Enhance (điều chỉnh). Loại thứ 2 là Datasource do người dùng tạo ra bằng cách lập trình các Function Module bằng ngôn ngữ lập trình ABAP để chuyển đổi dữ liệu từ hệ thống nguồn về hệ thống Kho dữ liệu SAP.

Các bước thực hiện:

Bước 1: Tạo một Function Module thực hiện Extract dữ liệu từ các bảng hệ thống SAP ERP

Hình 3.3 – Function Module trích xuất dữ liệu nguồn.

Function Module này được viết với mã lệnh ABAP có nhiệm vụ thực thi việc lấy dữ liệu, tính toán và đổ vào Datasource khi được gọi đến.

Hình 3.4 – Tạo Datasource

Có 3 loại Datasource:

o Transction data chứa các dữ liệu giao dịch phục vụ việc nạp dữ liệu vào các infoCube (Model chứa dữ liệu hướng nghiệp vụ theo chủ đề nhất định).

o Master Data Atrributes chứa các dữ liệu cho chiều phân tích

o Text chứa dữ liệu mô tả cho chiều phân tích

Datasource này chứa thông tin Function Module được tạo ở bước trên. Khi thực hiện Extract Datasource này Function Module được gọi và thực thi.

Hình 3.6 – Kết quả Extract Datasource 3.3.1.2 Tạo chiều phân tích (Dimension)

Hệ thống SAP cung cấp cho chúng ta công cụ SAP BW Workbench cho phép tạo ra các Business Object (Đối tượng nghiệp vụ) như các chiều phần tích (Tài sản, Khách hàng, Sản phẩm…) và các Data Mart hướng chủ đề theo một nghiệp vụ nhất định ( Doanh thu, chi phí, Capex…).

Hình 3.7 – Công cụ SAP BW Workbench

Hình 3.8 – Thông tin chung Chiều phân tích

Hình trên mô ta một InfoObject (đối tượng chiều phân tích) Tài sản (Asset). Tab General. Thể hiện thông tin chung của đối tượng chiều phân tích: Loại dữ liệu (Data type): Char (kiểu ký tự)

Độ dài(length) : 12

Hình 3.9 – Bảng chứa dữ liệu của đối tượng

Tab Master data/text. Thể hiện các bảng chứa Mã của đối tượng và các thuộc tính của đối tượng. Bảng chứa mô tả của đối tượng

Hình 3.10 – Thông tin về cây của đối tượng Hierachy

Nếu trong trường hợp Chiều phân tích có dữ liệu dạng cây thì chúng ta phải chọn điền thông tin tab Hierachy với tích chọn With Hierachy hệ thống sẽ tự động sinh ra bảng chứa cây của đối tượng.

Hình 3.11 Thông tin thuộc tính của chiều phân tích

Tab Atrributes. Thể hiện các thuộc tính của đối tượng. Tại đây hệ thống cho phép thêm các thuộc tính cho đối tượng.

3.1.2.2 Tạo Transfomation và Loading dữ liệu cho chiều phân tích

Transfromation thực hiện nạp dữ liệu cho chiều phân tích từ dữ liệu nguồn ( hệ thống SAP ERP).

Hình 3.12 – Transfromation nạp dữ liệu cho chiều phân tích

Transformation có nhiệm vụ mapping (nối) các trường dữ liệu nguồn với dữ liệu đích. Trong quá trình này, có thể thực hiện chuyển đổi dữ liệu như Mã tài sản (trường đích ZASSET) có thể được chuyển đổi từ các trường nguồn ANLN1, BUKRS (trường mã công ty), ANLN2 (Mã tài sản đi kèm). Theo yêu cầu nghiệp vụ trường tài sản đích phải được chuyển đổi với đoạn mã ABAP như sau:

CONCATENATE SOURCE_FIELDS-BUKRS+2(2) SOURCE_FIELDS-

ANLN1+6(6) '-'

SOURCE_FIELDS-ANLN2+3(1) INTO RESULT.

Loading Cho phép nạp dữ liệu thủ công hoặc đặt lịch (Schedule) với những lựa chọn để lọc dữ liệu cần thiết.

Hình 3.13 – Loading dữ liệu vào chiều phân tích

Hình 3.14 – Kết quả Transfromation

3.3.2 Xây dựng Model theo nghiệp vụ

3.3.2.1 Xây dựng Model chứa dữ liệu giao dịch Capex (Tài sản cố định)

Bước 1: Tạo các ODS trung gian chứa dữ liệu giao dịch đưa từ Datasource của hệ thống SAP ERP

ODS gồm 2 thành phần chính là Key fields (là tập các chiều phân tích) và Data fields (là các chỉ tiêu dữ liệu)

Hình 3.16 Transformation của ODS

Các bước Transfomation và Loading tương tự như đối với chuyển đổi dữ liệu cho chiều phân tích.

Bước 2 Tạo Model chứa dữ liệu CAPEX trên SAP BPC.

Hình 3.17 – Thông tin Model CAPEX

CAPEX là một Model chứa dữ liệu giao dịch Tài sản cố định từ hệ thống SAP ERP và dữ liệu tính toán lập kế hoạch ngân sách Tài sản cố định của công ty VinCom Retail của tập đoàn VIN GROUP.

Model bao gồm 2 thành phần chính là Dimensions (tập các chiều phân tích) và Key Figures (hệ thống SAP BPC chỉ có 1 chỉ tiêu signdata chứa dữ liệu dạng Amount hoặc Quantity).

Bước 3. Tạo Routine để thực hiện chuyển đổi,tính toán số liệu

Một phần của tài liệu Xây dựng kho dữ liệu và báo cáo quản trị BI cho tập đoàn VINGROUP với hệ thống SAP BOBI (Trang 27)

Tải bản đầy đủ (PDF)

(53 trang)