Để minh họa cho việc sử dụng cơng cụ pentaho trong việc xây dựng báo cáo tài chính em xin trình bày ví dụ cụ thể sau:
”Xem xét, đánh giá sựảnh hưởng của giá dầu, tỷ giá USD/VND,chỉ số VNIndex lên giá vàng”. Mơi trường thực hiện: - Hệđiều hành windows 7 - Hệ quản trị cơ sở dữ liệu Mysql - Bộ cơng cụ pentaho 4.2. Thu thập,xử lý dữ liệu
Dữ liệu về tỉ giá USD/VND được lấy tại: http://www.oanda.com/currency/historical-rates File tải về là file excel cĩ dạng:
34
Dữ liệu về giá vàng được lấy tại địa chỉ:
http://www.perthmint.com.au/investment_invest_in_gold_precious_metal_prices.aspx File tải về cĩ dạng:
Hình 11. Dữ liệu giá vàng Đơn giá được tính theo đơn vị USD/ounce
Dữ liệu giá dầu được lấy tại địa chỉ:
http://sdw.ecb.europa.eu/browse.do?node=2120782 File tải về cĩ dạng:
35 Hình 12. Dữ liệu giá dầu Đơn vị tính là USD / Thùng Dữ liệu chỉ số VnIndex được tải tại địa chỉ http://www.cophieu68.com/datametastock File tải về cĩ dạng: Hình 13. Dữ liệu chỉ số VnIndex
36
Theo dữ liệu thu thập được thì ta thấy dữ liệu khơng đồng nhất. Ví dụ như trong dữ liệu tỉ giá thì thơng tin về tỉ giá cĩ đầy đủ các ngày, nhưng trong dữ liệu về giá vàng thì khơng cĩ dữ liệu về giá vàng trong ngày thứ 7 và chủ nhật hàng tuần, và dữ liệu về giá dầu chỉ cĩ theo tháng.Vậy giải pháp trong bài này em chọn đểđồng bộ dữ liệu đĩ là dữ liệu thiếu sẽđược thêm vào bằng cách lấy dữ liệu của ngày trước đĩ, dữ liệu hàng ngày của giá dầu sẽ bằng dữ liệu giá dầu của tháng đĩ.Như vậy, dữ liệu đã được đồng bộ.
Bước tiếp theo ta tổng hợp dữ liệu thành 1 file excel với đầy đủ thơng tin như hình sau:
Hình 14. Dữ liệu tổng hợp
Trường timekey được thêm theo cách năm+tháng+ngày viết liền. Như vậy ta đã làm sạch được dữ liệu, loại bỏ dữ liệu dư thừa.
4.3. Tạo data warehouse
Áp dụng cơng cụ data intergation trong bộ cơng cụ của pentaho đĩ là Spoon, ta tạo kho dữ liệu như sau:
Kho dữ liệu cĩ 3 bảng: 2 bảng chiều và 1 bảng chính, 2 bảng chiều đĩ là : bảng dim_time : đưa ra các dữ liệu về ngày, tháng, quý, năm. Bảng dim_factor: đưa ra các nhân tố dùng để xử lý. Một bảng chính đĩ là bảng fact_price chứa thơng tin giá của từng nhân tố tại từng thời điểm.
37
Hình 15. Mơ hình kho dữ liệu Mở cơng cụ Spoon, ta chọn File -> New -> Transformation.
Dữ liệu đầu vào là file excel lưu dưới dạng .csv chứa tồn bộ dữ liệu đã được chuẩn hĩa do đĩ trong ơ Step ta chọn phần input là CSV file input kéo và thả biểu tượng này vào trong vùng thao tác ta được:
Hình 16. Spoon workspace
Click đúp vào đối tượng này ta thay đổi các thuộc tính của nĩ như step name, file name (đường dẫn đến file dữ liệu .csv), delimiter (ký tự ngăn cách giữa các trường trong file .csv), sau đĩ ta ấn Get Fields và sửa đổi tên các trường cho phù hợp:
38
Hình 17. Spoon nhập dữ liệu
Để làm bước tiếp theo, ta phải tạo một cơ sở dữ liệu trống trong Mysql. Ta dùng Mysql Query Browser để tạo cơ sở dữ liệu mới thơng qua truy vấn “CREATE DATABASE data_price”. Với data_price là tên data warehouse cần tạo.
Trở lại Spoon trong phần step ta chọn trong tab Data Warehouse kéo thả Combination lookup / update vào khung làm việc. Sau đĩ kéo di chuột trái+ shift từ bước input CSV sang bước Combination lookup/update.
Hình 18. Combination Lookup/Update
39
Hình 19. Thay đổi thuộc tính Phần connection ta chọn new nếu chưa cĩ kết nối nào:
Hình 20. Kết nối cơ sở dữ liệu
Ta chọn Mysql trong phần Connection Type, điền thơng tin cơ sở dữ liệu, connection name, chọn test, nếu kết nối thành cơng ta chọn OK.
Quay trở lại cửa sổ Combination lookup/update ta điền các thơng số , ởđây trong bước này ta sẽ tạo bảng dim_time
40
Hình 21. Tạo bảng Dim_time
Ấn nút Get Fields để load các trường trong file excel , ta loại bỏ nhưng trường khơng xuất hiện trong bảng dim_time, đặt trường khĩa cho bảng dim_time, tick vào ơ Remove lookup fields? Để các trường này khơng xuất hiện trong các bảng sau.
Ấn nút SQL để xem các câu lệnh sql tạo bảng sau đĩ ấn nút Execute để tạo bảng Dim_time(time_id,timekey,month,quarter,year).
Tương tự ta cũng kéo thêm 1 step Combination lookup/update nữa và nối tiếp với bước tạo bảng dim_time trên:
41
Trong bảng này chỉ cĩ 2 trường là factor_key tự động sinh ra và là khĩa chính và trường factor chứa tên của các nhân tốảnh hưởng.
Bước tiếp theo ta tạo bảng fact_price, đây là bảng output vì nĩ bao hàm 2 bảng trên. Do đĩ trong phần step ta kéo thả Table output.
Hình 23. Tạo Table Output
Click đúp vào Table output ta thay đổi các thơng số cho phù hợp:
Hình 24. Tạo bảng fact_price Ấn SQL để xem câu lệnh sql và ấn nút Execute để tạo bảng.
Ta lưu transformation này vào và ấn nút và chọn Launch để nhập dữ liệu vào trong cơ sở dữ liệu đã được tạo.
42
Hình 25. Nhập dữ liệu
Như vậy ta đã tạo thành cơng data warehouse all_price bằng cơng cụ Spoon.
4.4. Xử lý dữ liệu bằng kỹ thuật OLAP
4.4.1.Tạo cube
Để tạo cube ta dùng cơng cụ Schema Workbench trong bộ cơng cụ Pentaho.
Trước tiên ta phải tạo kết nối tới cơ sở dữ liệu Mysql bằng cách trong menu Tools ta chọn Connection hiện ra cửa sổ, ta điền các thơng sốđể kết nối tới Mysql:
Hình 26. Kết nối cơ sở dữ liệu
Ta tạo 1 schema mới và 1 cube với với các độ đo sum và avg đối với giá như trong hình:
43
Hình 27. Kiến trúc Cube
Sau khi đã tạo được cube, ta publish cube này lên hệ thống pentaho với thơng tin đầy đủ về server và tài khoản user trong pentaho.
Hình 28. Repository Login
Ta lưu lại file cube và publish schema và cube lên hệ thống pentaho.
4.4.2.Analysis View
Pentaho cung cấp tiện ích áp dụng kỹ thuật OLAP đĩ là Analysis View. Ngồi ra chúng ta cĩ thể áp dụng cơng cụđược pentaho phát triển riêng để sử dụng OLAP đĩ là Mondrian.
Trong bài này em xin trình bày cách áp dụng tiện ích Analysis View để ứng dụng kỹ thuật OLAP.
44
Trước tiên ta phải kết nối Pentaho đến cơ sở dữ liệu mà chúng ta cần phân tích trên hệ cơ sở dữ liệu Mysql. Để kết nối đến cơ sở dữ liệu này ta vào folder cài đặt Pentaho , vào folder administration-console và chạy file start-pac.bat để khởi động Administration Console. Sau đĩ ta vào trình duyệt và chạy link :
http://localhost:8099 sẽ hiện ra khung đăng nhập, tài khoản admin mặc định là user: “admin” / password: “password”.
Để tạo kết nối tới mysql và data warehouse đã được tạo ta vào tab Database Connection.
Trong bài này em sử dụng cơ sở dữ liệu all_price và hệ cơ sở dữ liệu Mysql nên ta sẽ nhập như hình sau:
Hình 29. Kết nối cơ sở dữ liệu
Sau khi đã nhập đầy đủ , ta ấn test để kiểm tra kết nơi, kết nối thành cơng ta chọn OK để lưu kết nối này. Như vậy ta đã kết nối thành cơng pentaho tới mysql.
Bước tiếp theo ta vào địa chỉ http://localhost:8080 để vào Pentaho User Console. Hiện ra khung đăng nhập, ta điền user và password vào, hoặc cĩ thể sử dụng 1 vài account mẫu.
45
Hình 30. Khung làm việc Pentaho
Sử dụng Analysic View chọn schema và cube đã được tạo ra ở bước trên.
Hình 31. Chọn schema và cube Sau khi ấn OK sẽ hiện ra cửa sổ như sau:
Hình 32. Dữ liệu schema và cube
Trên thanh Tools bar ta chọn để lựa chọn độ đo, columns, rows và filter cho việc lựa chọn hiển thị nội dung các phân tích.
46
Hình 33. Nội dung phân tích
Để phân tích tỉ giá USD/VNĐ trong vịng 10 năm từ năm 2000 tới 2010, trong phần Measures ta chọn avg price:
Hình 34. Chọn Measures Phần factor ta chọn exchange:
Hình 35. Chọn factor
Trong phần thời gian ta chọn các năm từ 2000 đến 2010, ở đây ta so sánh giá trị trung bình của tỉ giá của từng năm.
47
Hình 36. Chọn năm phân tích
Tuy nhiên ta cĩ thể lựa chọn thời gian chi tiết hơn theo thừng tháng, từng quý, và từng ngày bằng cách chọn nút :
Hình 37. Chọn chi tiết ngày tháng
Và để hiển thị biểu đồ tỉ giá trong vịng 10 năm qua, ta chọn để lựa chọn kiểu biểu đồ:
48
Hình 38. Chọn loại biểu đồ
Sau khi đã chọn xong định dạng cho biểu đồ, ta chọn nút : để hiển thị biểu đồ tỉ giá usd / vnd trong vịng 10 năm qua:
Hình 39. Biểu đồ tỷ giá USD/VND
Dựa vào biểu đồ ta cĩ thể tháy tỷ giá USD/VNĐ thay đổi nhiều nhất trong những năm 2008 trở lại đây và đang cĩ xu hướng tăng.
49
Hình 40. Biểu đồ giá vàng
Giá vàng trong 10 năm gần đây tăng mạnh, đặc biệt là tử năm 2005 tới nay, giá vàng biến đổi và tăng liên tục. Dựa vào biểu đồ ta cĩ thể thấy giá vàng đang cĩ xu thế tăng.
Biểu đồ giá dầu:
Hình 41. Biểu đồ giá dầu
Giá dầu cĩ nhiều biến động trong 10 năm trở lại đây. Giá dầu tăng giảm thất thường, rất khĩ để dựđốn. Giá dầu cao nhất vào khoảng giữa năm 2007. Và hiện nay đang cĩ xu hướng tăng trở lại.
50
Hình 42. Biểu đồ chỉ số VnIndex
Chỉ số VnIndex của nước ta cĩ biến động rất lớn. Từ năm 2000 tới năm 2005 chỉ số VnIndex tăng rất châm, nhưng sau năm 2005 tới năm 2007 chỉ số VNIndex liên tục tăng cao. Và rồi xuống thấp nhất vào cuối năm 2008 đầu 2009, hiện nay đang cĩ dấu hiệu phục hồi và cân bằng.
Biểu đồ giá vàng và giá dầu:
Hình 43. Biểu đồ giá vàng và giá dầu Biểu đồ giá vàng và tỉ giá USD /VNĐ
51
Hình 44. Biểu đồ tỷ giá và giá vàng
Dựa vào biểu đồ ta cĩ thể nhin thấy sự liên quan giữa giá vàng và tỉ giá USD/VND, hầu như chúng đều cùng tăng và cùng giảm.
Biểu đồ chỉ số VNIndex và giá vàng:
Hình 45. Biểu đồ giá vàng và VNIndex
Dựa vào biểu đồ ta nhận thấy rằng giá vàng và chỉ số VNIndex ít cĩ mối liên hệ với nhau. Do đĩ khĩ cĩ thể kết luận xu hướng của giá vàng dựa vào xu hướng của chỉ số VNIndex.
52
Kết luận
Qua những phân tích và ứng dụng trong bài báo cáo này đưa ra cho thấy việc áp dụng kho dữ liệu và các kỹ thuật OLAP trong tương lai sẽ là tất yếu và là xu thếđể các doanh nghiệp ứng dụng.
Khĩa luận đã đạt được những kết quả:
- Tìm hiểu và phân tích kỹ thuật kho dữ liệu và ứng dụng trong lĩnh vực tài chính.
- Tìm hiểu và phân tích kỹ thuật OLAP, các mơ hình lưu trữ hỗ trợ OLAP, chỉ ra các ưu và nhược điểm của các mơ hình lưu trữđĩ.
- Phân biệt được sự khác nhau giữa OLTP và OLAP
- Giới thiệu bộ cơng cụ Business Intelligent là Pentaho và áp dụng. - Phân tích dữ liệu biến động của giá đơ la, giá vàng và chỉ số VNIndex.
53
Tài liệu tham khảo
Tiếng Việt
[1] Kho dữ liệu . http://vi.wikipedia.org/wiki/Kho_d%E1%BB%AF_li%E1%BB%87u [2] Ths. Nguyễn Thế Quyền. Giới thiệu về kiến trúc khối của OLAP. Tạp chí Cơng nghệ thơng tin & Truyền thơng.
http://www.tapchibcvt.gov.vn/News/PrintView.aspx?ID=15695
Tiếng Anh
[3]. Djoni Darmawikarta. Dimensional Data Warehousing with MySql. Brainy Software Corp, 2007.
[4]. Don Jones. Why is OLAP Faster than OLTP.
http://nexus.realtimepublishers.com/tips/Data_Warehousing/Why_Is_OLAP_Faster_T han_OLTP.php
[5]. Hari Mailvaganam. Introduction to OLAP.
http://www.dwreview.com/OLAP/Introduction_OLAP.html
[6]. Kefa Rabah. Pentaho Business Intelligene BI Suite Training Manual. Global Open Versity, 2007. Tr. 1-23.
[7]. Online Analytical Processing. Wikipedia.org.
[8]. Pentaho Corporation. Pentaho Training Course 2010 Edition. Pentaho Corporation, 2007. Tr 1-13.
[9]. Pentaho Corporation. Pentaho Analysis Viewer User Guide. Pentaho Corporation, 2007. Tr 1-23.
[10]. Roland Bouman- Jos Van Dongen. Business Intelligence and Data Warehousing with Pentaho and Mysql- Pentaho Solutions. Wiley Publishing,Inc, 2009. Tr 3-309. [11]. S.Nagabhushana. Data warehousing Olap and Data mining. New Age
54
[12]. Seth Grimes. Mysql V5- Ready for Prime Time Business Intelligence. Alta Plana Corporation, 2006. Tr 2-23.
[13]. Surajit Chaudhuri- Umeshwar Dayal. An Overview of Data warehouse and OLAP Technology. Tr 2-10.
[14] Thomas C.Hammergren- Alan R. Simon. Data warehousing for dummies. Wiley Publishing,Inc. Tr 9-95.
[15] MOLAP, ROLAP, And HOLAP
http://www.1keydata.com/datawarehousing/molap-rolap.html