3. Cấu trúc của luận văn
3.4. Mondrian – OLAP Server
3.4.1. Mondrian
Mondrian là một máy chủ OLAP mã nguồn mở hỗ trợ cho việc xây dựng những ứng dụng Business Intelligence trên nền web. Mondrian được viết trên nền Java, không yêu cầu hệ lưu trữ ngoài, đọc dữ liệu trực tiếp từ hệ quản trị cơ sở dữ liệu quan hệ và sử dụng bộ đệm để đưa ra câu trả lời cho những truy vấn một cách nhanh chóng. Nó cho phép phân tích các tập hợp dữ liệu lớn trong các cơ sở dữ liệu SQL.
3.4.2. Schema Workbench
Mondrian Schema Workbench là một ứng dụng cho phép tạo và thử nghiệm các OLAP cube một cách trực quan. Bộ công cụ Mondrian sẽ xử lý các yêu cầu MDX kèm theo các giản đồ ROLAP. Những tệp giản đồ này là những mô hình XML được tạo ra theo một cấu trúc đặc biệt. Những mô hình XML có thể được xem như là những cấu trúc giống như cube, sử dụng những bảng FACT và bảng DIMENSION có sẵn trong hệ quản trị cơ sở dữ liệu quan hệ (RDBMS). Nó không yêu cầu phải có một cube thực sự nào, chỉ cần mô hình dữ liệu được khởi tạo.
Schema Workbench cung cấp các chức năng sau : - Biên tập giản đồ kết hợp với các nguồn dữ liệu.
- Kiểm tra các truy vấn MDX thông qua giản đồ và cơ sở dữ liệu. - Kiểm tra cấu trúc của cơ sở dữ liệu.
Chương 3 – Bộ công cụ Business Intelligence
24
3.5. Weka – Khai phá dữ liệu
Weka (viết tắt của Waikato Environment for Knowledge Analysis) là môi trường thử nghiệm khai phá dữ liệu do các nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới. Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho mọi người tìm hiểu về khai phá dữ liệu. Weka cung cấp nhiều giải thuật khác nhau với nhiều phương thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ với bất kì một dữ liệu nào.Weka còn cho phép các giải thuật học mới phát triển có thể tích hợp vào môi trường của nó. Hệ thống được viết bằng ngôn ngữ lập trình Java và chạy được trên hầu hết các hệ điều hành.
Weka có những tính năng chính sau:
- Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá.
- Giao diện đồ họa người dùng (trực quan hóa dữ liệu). - Môi trường để so sánh các giải thuật học.
Weka lấy dữ liệu từ các file có định dạng .arff, .cvs , hoặc từ một bảng trong cơ sở dữ liệu.Tập dữ liệu có thể được tiền xử lý, cho vào trong một sơ đồ, phân chia các lớp kết quả và thực hiện nó mà không cần viết bất cứ một chương trình nào.
Chương 4 - Ứng dụng Business Intelligence
25
Chƣơng 4 : ỨNG DỤNG BUSINESS INTELLIGENCE
Việc ứng dụng bộ công cụ Business Intelligence được thể hiện qua 3 bài toán nhỏ : tạo báo cáo, phân tích OLAP, khai phá dữ liệu. Môi trường thực nghiệm là hệ điều hành Ubuntu 9.04.
4.1. Tạo báo cáo sử dụng công cụ BI 4.1.1. Giới thiệu bài toán 4.1.1. Giới thiệu bài toán
”Xem xét, đánh giá sự ảnh hưởng của mệnh giá nạp thẻ lên doanh thu bình quân trên một người dùng (ARPU) của các dịch vụ giá trị gia tă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.1.2. Thu thập,xử lý dữ liệu
Dữ liệu về mệnh giá nạp thẻ trung bình theo từng tuần được lấy từ báo cáo bán hàng của Beeline. File excel có dạng:
Chương 4 - Ứng dụng Business Intelligence
26
Hình 7. Dữ liệu mệnh giá nạp thẻ trung bình.
Dữ liệu về mệnh doanh thu bình quân trên một người dùng (ARPU) của các dịch vụ giá trị gia tăng theo từng tuần được lấy từ báo cáo trên hệ thống tính cước của Beeline. File excel có dạng:
Chương 4 - Ứng dụng Business Intelligence
27
Hình 8. Dữ liệu ARPU của các dịch vụ giá trị gia tăng.
4.2. 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
Chương 4 - Ứng dụng Business Intelligence
28
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.
Cấu trúc bảng và sơ đồ quan hệ được mô tả trong hình sau:
Hình 9. 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 toà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:
Chương 4 - Ứng dụng Business Intelligence
29
Hình 10. 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:
Chương 4 - Ứng dụng Business Intelligence
30
Để 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 12. Combination Lookup/Update
Chương 4 - Ứng dụng Business Intelligence
31
Hình 13. 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 14. 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.
Chương 4 - Ứng dụng Business Intelligence
32
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
Hình 15. 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:
Chương 4 - Ứng dụng Business Intelligence
33
Hình 16. Tạo bảng dim_factor
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 17. Tạo Table Output
Chương 4 - Ứng dụng Business Intelligence
34
Hình 18. 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.
Hình 19. 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.3. Xử lý dữ liệu bằng kỹ thuật OLAP 4.3.1. Tạo cube 4.3.1. Tạo cube
Chương 4 - Ứng dụng Business Intelligence
35
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 20. 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:
Hình 21. 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.
Chương 4 - Ứng dụng Business Intelligence
36
Hình 22. Repository Login
Ta lưu lại file cube và publish schema và cube lên hệ thống pentaho.
4.3.2. Analysis View
Pentaho cung cấp tiện ích áp dụng kỹ thuật OLAP đó là Analysis View. Ngoà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 tôi xin trình bày cách áp dụng tiện ích Analysis View để ứng dụng kỹ thuật OLAP.
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”.
Chương 4 - Ứng dụng Business Intelligence
37
Hình 23. 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.
Sau khi login vào sẽ hiện ra màn hình như sau:
Hình 24. Khung làm việc Pentaho
Chương 4 - Ứng dụng Business Intelligence
38
Hình 25. Chọn schema và cube Sau khi ấn OK sẽ hiện ra cửa sổ như sau:
Hình 26. 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.
Chương 4 - Ứng dụng Business Intelligence
39
Để phân tích mệnh giá nạp thẻ trung bình trong vòng 9 tháng đầu của năm 2011, trong phần Measures ta chọn avg price:
Hình 28. Chọn Measures Phần factor ta chọn exchange:
Hình 29. Chọn factor
Chương 4 - Ứng dụng Business Intelligence
40
Hình 30. 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 đồ mệnh giá nạp thẻ trong 9 tháng:
Hình 31. Biểu đồ mệnh giá nạp thẻ
Dựa vào biểu đồ ta có thể thấy mệnh giá nạp thẻ thay đổi nhiều nhất trong những 2 tháng gần đây (tháng 8 & 9) và đang có xu hướng tăng.
Chương 4 - Ứng dụng Business Intelligence
41
Hình 32. Biểu đồ ARPU
ARPU giảm mạnh trong những tháng gần đây, tuy nhiên đang có xu hướng tăng trở lại.
Biểu đồ mệnh giá nạp thẻ và ARPU:
Hình 33. Biểu đồ mệnh giá nạp thẻ và ARPU
Dựa vào biểu đồ ta nhận thấy rằng mệnh giá nạp thẻ và ARPU tuy có mối liên hệ nhất định (ngược chiều: mệnh giá nạp thẻ thấp thì ARPU cao hơn và ngược lại) tuy nhiên mối liên hệ này là chưa thực sự rõ ràng. Do đó khó có thể dự đoán xu hướng của ARPU dựa vào xu hướng của mệnh giá nạp thẻ.
42
KẾT LUẬN
Việc tổng hợp, phân tích thông tin từ những nguồn dữ liệu khác nhau luôn là vấn đề đáng quan tâm đối với các tổ chức có khối lượng dữ liệu lớn. Trong lĩnh vực kinh doanh, lượng dữ liệu về khách hàng, quá trình kinh doanh, biến động thị trường chứa đựng nhiều thông tin hữu ích cho các công ty. Nhiều giải pháp khai thác nguồn thông tin này đã được đưa ra. Trong đó, Business Intelligence là một giải pháp mới với nhiều bộ công cụ hỗ trợ.
Trong luận văn này, tôi đã trình bày một số kiến thức cơ bản về bộ công cụ Business Intelligence Pentaho và ứng dụng trong dữ liệu thực: tạo báo cáo và khai phá dữ liệu. Kết quả của các ứng dụng này có thể được liên kết để tạo thành hệ hỗ trợ quyết định trong kinh doanh.
Do thời gian có hạn nên khóa luận mới chỉ dừng ở mức mô tả chức năng của các công cụ trong bộ công cụ Business Intelligence. Nếu có điều kiện phát triển, cần nghiên cứu tổng hợp kết quả từ các công cụ, tiến tới làm thành một hệ hỗ trợ quyết định hoàn chỉnh.
Với ưu điểm là bộ công cụ mã nguồn mở nên Pentaho thích hợp để áp dụng cho những tổ chức vừa và nhỏ do tiết kiệm được chi phí. Vì thế tương lai gần, các hệ Business Intelligence có thể sẽ sớm được áp dụng rộng rãi tại Việt Nam.
43
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Business Intelligence là gì. http://bis.net.vn/forums/t/121.aspx
[2] Hà Quang Thụy (chủ biên). Giáo trình khai phá dữ liệu Web. Nxb Giáo dục Việt Nam. 2009.
[3] Kho dữ liệu và các ứng dụng. http://web.dongtak.net/spip.php?article11&lang=vi. [4] Nguyễn Thành Đạt, Nguyễn Ngọc Anh. Advances Topics in Database Systems. 2009. [5] Phạm Văn Quang, Đỗ Thị Luân. Tiểu luận Datamining vs OLAP. 2009.
[6] Wikipedia về kho dữ liệu.
http://vi.wikipedia.org/wiki/Kho_d%E1%BB%AF_li%E1%BB%87u.
Tiếng Anh
[7] Deduction Engineering and Machine Learning – WEKA. The University of Waikato, 2003.
[8] Introducing the Pentaho BI Suite Community Edition.
[9] Julian Hyde, Lance Walter. OLAP for MySQL using Pentaho’s Mondrian. [10] Pentaho homepage. http://www.pentaho.com/
[11] Remko R. Bouckaert, Eibe Frank, Mark Hall, Richard Kirkby, Peter Reutemann, Alex Seeward, David Scuse. Weka Manual for Version 3.7.0. The University of Waikato, 2009.
[12] Seth Grimes. MySQL V5 – Ready for Prime Time Business Intelligence. Alta Plana Corporation.
[13] William H. Inmon. Building the Data Warehouse Fourth Edition. Wiley, 2005.
[14] Zdravko Markov, Ingrid Russell. An Introduction to the WEKA Data Mining System.