Khi đã có được các nguồn dữ liệu với khối lượng khổng lồ, phong phú và đa dạng về kiểu loại và được tổng hợp từ rất nhiều nguồn khác nhau, vấn đề là làm sao khai thác một cách có hiệu qu
Trang 1VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC
BÁO CÁO MÔN HỌC HỆ HỖ TRỢ QUYẾT ĐỊNH
Đề tài: Quản lý đơn hàng
Giáo viên hướng dẫn: TS Vũ Thành Nam
Nhóm sinh viên thực hiện: Nhóm 5
1 Phạm Thị Thu Hương 20185367
2 Nguyễn Thị Diệu Linh 20180815
3 Đặng Thị Hồng Nhung 20185391
Trang 2Lời mở đầu
Hiện nay, thông tin rất cần thiết trong kinh doanh Trong môi trường kinh doanh luôn biến động đòi hỏi thông tin phải được truy cập một cách nhanh chóng, chính xác ở bất cứ nơi nào Khi đã có được các nguồn dữ liệu với khối lượng khổng lồ, phong phú và đa dạng về kiểu loại
và được tổng hợp từ rất nhiều nguồn khác nhau, vấn đề là làm sao khai thác một cách có hiệu quả các nguồn dữ liệu đó đồng thời phải liên tục cập nhật và xử lý dữ liệu hiện đang sử dụng
Dữ liệu có thường không nhất quán, dư thừa, khó khai thác và đặc biệt là không dùng được cho những ứng dụng hỗ trợ ra quyết định Gần đây, công nghệ kho dữ liệu ra đời đáp ứng được nhu cầu quản lý, đây là công nghệ đang phát triển rất mạnh và đã được ứng dụng rất nhiều trên thế giới hiện nay, cho phép chúng ta tập trung được các nguồn dữ liệu thô khác nhau, tổ chức và xây dựng lại bằng những công cụ phân tích hữu hiệu giúp cho người sử dụng, những nhà quản
lý, lãnh đạo có thể thu được những thông tin thực sự hữu ích từ những dữ liệu đã có từ đó đưa
ra được những quyết định nhanh chóng, chính xác trong công tác quản lý
Xuất phát từ bộ dữ liệu của doanh nghiệp về chuỗi cung ứng DataCo Global, chúng em đã nghiên cứu với các mục tiêu chính như sau:
• Lý thuyết về Data Warehouse, phương pháp tổ chức cơ sở dữ liệu đa chiều, phân tích
và khai thác dữ liệu để trợ giúp ra quyết định
• Ứng dụng lý thuyết nghiên cứu trong việc tổ chức cơ sở dữ liệu cho bài toán Quản
lý đơn đặt hàng bằng công cụ của Microsoft SQL Server Management Studio 18,
PowerBI
Chúng em xin gửi lời cảm ơn đến thầy TS Vũ Thành Nam đã hướng dẫn và đưa ra
những góp ý cho nhóm hoàn thành đề tài
Trang 3Mục lục
1 Tổng quan về DataWarehouse 4
1.1 Khái niệm DataWarehouse 4
1.2 Tính chất của DataWarehouse 4
1.3 Cấu trúc dữ liệu của kho dữ liệu 5
1.4 Kiến trúc của Data Warehouse 6
1.5 OLAP và OLTP 7
2 Tổng quan về Business Intelligence 8
2.1 Business Intelligence là gì? 8
2.2 Hệ thống của Business Intelligence 9
2.3 Các thành phần của Business Intelligence 10
2.4 Lợi ích của BI 12
3 Ứng dụng Data Warehouse và BI vào bài toán quản lý đơn hàng 14
3.1 Khảo sát 14
3.1.1 Tổng quan về quản lý đơn hàng 14
3.1.2 Quy mô dữ liệu 14
3.1.3 Requirement 15
3.2 Phân tích và thiết kế 15
3.2.1 Kiến trúc Data Warehouse (DW) 15
3.2.2 Tiền xử lý dữ liệu 16
3.2.3 Mô hình ERD 18
3.2.4 Dimension 19
3.2.5 Mô hình OLAP 20
4 Dashboard 22
4.1 Dashboard Order Management by Modes 22
4.2 Dashboard Order Management by Regions 23
4.3 Dashboard Order Management by Products 24
4.4 Dashboard Order Management by Customer 25
5 Bài học 26
6 Tài liệu tham khảo 26
Trang 41 Tổng quan về DataWarehouse
1.1 Khái niệm DataWarehouse
• Data Warehouse là tập hợp dữ liệu được tạo ra để hỗ trợ ra quyết định
• Là kho lưu trữ dữ liệu (hiện tại và lịch sử) tiềm năng mà các lãnh đạo doanh nghiệp quan tâm
• Dữ liệu được tích hợp
• Dữ liệu được thu thập từ nhiều nguồn:
+ Khác về không gian + Khác về thời gian + Khác về thể hiện và cấu trúc
• Thường dữ liệu trong kho là dữ liệu đã được tổ chức dạng dễ dàng/sẵn sàng cho quá trình phân tích
1.2 Tính chất của DataWarehouse
Theo Wikipedia, data warehouse chính là database chuyên dùng cho tạo báo cáo và phân tích dữ liệu Nó vừa hỗ trợ các truy vấn phức tạp, vừa là điểm tập trung dữ liệu của các nguồn khác nhau để có được thông tin phân tích đầy đủ nhất Theo đó, data warehouse là một tập dữ liệu hướng chủ đề, toàn vẹn, không bị rỏ rỉ mất mát và có giá trị lịch sử Cụ thể các tính chất đó như sau:
• Tính hướng chủ đề (Subject – oriented):
Nghĩa là data warehouse tập trung vào việc phân tích các yêu cầu quản lý ở nhiều cấp
độ khác nhau trong quy trình ra quyết định Các yêu cầu này thường rất cụ thể và xoay quanh loại hình kinh doanh doanh nghiệp, ví dụ các công ty phân phối sẽ quan tâm đến tình hình kinh doanh, doanh nghiệp viễn thông quan tâm đến lưu lượng dịch vụ…Tuy nhiên, một doanh nghiệp thường được quan tâm đến vài chủ đề khác nhau, như công ty phân phối còn phải quan tâm đến kho bãi, chuỗi cung ứng…
• Tính toàn vẹn (Integrated):
Giải quyết các khó khan trong việc kết hợp dữ liệu từ nhiều nguồn dữ liệu khác nhau, giải quyết các sai khác về tên trường dữ liệu (dữ liệu khác nhau nhưng tên giống nhau), ý
Trang 5nghĩa dữ liệu (tên giống nhau nhưng dữ liệu khác nhau), định dạng dữ liệu (tên và ý nghĩa giống nhau nhưng kiểu dữ liệu khác nhau)
1.3 Cấu trúc dữ liệu của kho dữ liệu
• Lượng dữ liệu trong kho là rất lớn và không có những thao tác như sửa đổi hay tạo mới nên nó cần được tối ưu cho việc phân tích và báo cáo
• Các thao tác với dữ liệu của kho dựa trên cơ sở mô hình dữ liệu đa chiều, được mô hình hóa vào đối tượng được gọi là data cube
• Data cube là trung tâm phân tích, nó bao gồm nhiều dữ kiện (fact) và dữ kiện tạo ra nhiều chiều dữ kiện khác nhau (dimention)
Trang 6• Các kiểu dữ liệu trong DW:
+ Additive + Semi-Additive + Non-Additive
1.4 Kiến trúc của Data Warehouse
• Data Source Layer (Lớp dữ liệu nguồn)
Dữ liệu đầu vào cho DWH có thể bao gồm nhiều nguồn khác nhau và dưới dạng khác nhau như một cơ sở dữ liệu quan hệ, một file text, file XML hay từ lịch sử truy cập dịch vụ của người dùng
• ETL Layer
Đảm nhận việc trích xuất dữ liệu, biến đổi dữ liệu và đưa vào hệ thống DWH
• Staging Area Layer
Tại đây các trường dữ liệu thừa theo chuẩn của từng nguồn dữ liệu và và chuyển vào DWH hoặc Data mart
• Data Storage Layer
Đây là nơi lưu trữ dữ liệu sau khi đã được lược bỏ và chuẩn hóa
Trang 7• Data Logic Layer
Các quy luật riêng của doanh nghiệp sẽ đươc lưu vào đây Chúng không ảnh hưởng tới dữ liệu lưu trong DW nhưng sẽ tác động tới các dạng như báo cáo sau này
• Data Presentation Layer
Lớp này đảm nhận việc “xuất” các thông tin hữu ích cho người dùng như bảng hoặc báo cáo đồ họa theo yêu cầu của doanh nghiệp trên web, dạng email báo cáo tự dộng tạo và gửi đi định kỳ, …
• Metadata Layer
Đây sẽ lưu trữ các thông tin về dữ liệu trong DWH
• System Operations Layer
Lưu lại thông tin về quá trình hoạt động của hệ thống DWH như tình trạng của tiến trình ETL, năng suất của hệ thống và lưu lại lịch sử truy xuất của các user
1.5 OLAP và OLTP
• OLTP (Online Transaction Processing)
+ Truy cập dữ liệu và xử lý giao dịch
+ Làm việc trên kho dữ liệu hoạt động và thể hiện các hoạt động kinh doanh
+ Phản ánh trạng thái dữ liệu hiện tại
• OLAP (Online Analytical Processiing)
Cung cấp thông tin cho các hoạt động như:
+ Lập kế hoạch nguồn nhân lực doanh nghiệp, lập phân bổ ngân sách, chiến dịch kinh doanh
+ Thể hiện front-end dựa trên các DW
+ Sử dụng để lập báo cáo và định hướng ra quyết định
• So sánh OLAP và OLTP:
Trang 8OLTP OLAP
IT
Người dùng có tri thức
hệ, cô lập
Có tính lịch sử, tổng hợp, tích hợp, đa chiều, vững chắc
khóa chính
Quét rất nhiều
2 Tổng quan về Business Intelligence
2.1 Business Intelligence là gì?
Kinh doanh thông minh hay trí tuệ doanh nghiệp (viết tắt là Business Intelligence) là thuật ngữ chỉ các công nghệ, ứng dụng và thực tiễn cho việc thu thập, tích hợp, phân tích và trình bày thông tin doanh nghiệp
Trang 9Đó là quy trình công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng dữ liệu khủng lồ, khai phá tri thức giúp các doanh nghiệp để đưa ra các quyết định hiệu quả hơn trong hoạt động kinh doanh
Về cơ bản, hệ thống Business Intelligence là hệ thống hỗ trợ quyết định dựa trên dữ liệu (Decision Support System – DSS) Business Intelligence cung cấp quan điểm lịch sử, hiện tại
và dự đoán về các hoạt động kinh doanh Các chức năng phổ biến của BI bao gồm:
• Xử lý phân tích trực tuyến (Online analytical processing)
• Khai thác dữ liệu (Data Mining)
• Hỗ trợ quyết định (Decision support)
• Truy vấn và báo cáo (Query and report)
• Phân tích thống kê (Statistical analysis)
• Phân tích dự đoán và phân tích theo quy định (Forecasting)
2.2 Hệ thống của Business Intelligence
Vấn đề cốt lõi trong hệ thống BI là kho dữ liệu (Data Warehouse) và khai phá dữ liệu (Data Mining) vì dữ liệu dùng trong BI là dữ liệu tổng hợp (nhiều nguồn, nhiều định dạng, phân tán
và có tính lịch sử) đó chính là đặc trưng của kho dữ liệu Đồng thời, phân tích dữ liệu trong BI không phải là phân tích đơn giản (Query, Filtering) mà là những kĩ thuật trong khai phá dữ liệu
Trang 10(Data Mining) dùng để phân loại (classification), phân cụm (Clustering) hay dự đoán (Prediction) Do đó, BI có mối quan hệ chặt chẽ với Data Warehouse và Data Mining
Hệ thống Business Intelligence đơn giản có thể được xem là sự kết hợp của 3 thành phần chính như sau:
• Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp của doạnh nghiệp
• Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát hiện tri thức như phân loại, phân cụm, dự đoán…
• Business Analyst (Phân tích kinh doanh): Các nhà lãnh đạo Doanh nghiệp đưa ra những quyết điịnh chiến lược đối với hoạt động kinh doanh của doanh nghiêp
2.3 Các thành phần của Business Intelligence
Trang 11• Data Sources:
+ Là cơ sở dữ liệu thô (thường là cơ sở dữ liệu quan hệ) đến từ nhiều nguồn khác nhau như các ứng dụng business như Human Resource Management (HRM), Customer relationship management (CRM), phần mềm bán hàng, website thương mại điện tử…
+ Có thể là bất cứ hệ quản trị cơ sở dữ liệu nào như MySQL, Oracle, MSSQL, DB2,…
+ Thường được thiết kế theo mô hình cơ sở dữ liệu quan hệ ( vì dạng mô hình này đang rất phổ biến trong thực tế )
• Data Warehouse:
+ Là cơ sở dữ liệu được thiết kế theo mô hình khác với CSDL OLTP thông thường (Online
Transaction Processings – OLTP là thiết kế CSDL dành cho việc đọc ghi thường xuyên, lượng dữ liệu cho mỗi lần đọc ghi ít) và là nơi lưu trữ dữ liệu lâu dài của tổ chức
+ Dữ liệu của DWH chỉ có thể đọc, không được sử dụng để ghi hay update bởi ứng dụng thông thường, nó chỉ được cập nhật/ghi bởi công cụ ETL (Extract Transform Load), công
cụ chuyển đổi dữ liệu từ Data Sources vào Data Warehouse
Trang 12+ Chịu trách nhiệm trung gian vận hành công cụ ETL để chuyển đổi dữ liệu từ Data Sources vào Data Warehouse
+ Thực thi các report với output nhận được từ Analysis Server
+ Nơi quản trị tập trung các report trên nền web, các report này có thể được attach vào ứng dụng web, hay application
• Data Mining:
+ Là quá trình trích xuất thông tin dữ liệu đã qua xử lý (phù hợp với yêu cầu riêng của doanh nghiệp) từ Data Warehouse rồi kết hợp với các thuật toán để đưa ra ( hoặc dự đoán) các quyết định có lợi cho việc kinh doanh của doanh nghiệp
+ Đây là một quá trình quan trọng trong BI, thông thường một doanh nghiệp muốn sử dụng giái pháp BI thường kèm theo về Data Mining
Trang 13• Hỗ trợ nhà quản trị tối đa trong việc đưa ra các quyết định kinh doanh nhanh chóng, kịp thời, hiệu quả
• Xác định được vị thế và khả năng cạnh tranh của doanh nghiệp
• Phân tích hành vi khách hàng
• Xác định mục đích và chiến lược Marketing
• Dự đoán tương lai của doanh nghiệp
• Xây dựng chiến lược kinh doanh
• Giữ chân được khách hàng cũ và dự đoán khách hàng tiềm năng
• Đáp ứng nhu cầu thu thập báo cáo của các bộ phận
• Cung cấp cái nhìn tổng thể toàn doanh nghiệp
• Hỗ trợ tối đa công tác điều hành, tiết kiệm thời gian và chi phí cho quản trị
• Góp phần thay đổi kỹ năng điều hành, phục vụ khách hàng tốt hơn
• Tạo lợi thế cạnh tranh, gia tăng cơ hội tìm kiếm và nắm bắt các cơ hội kinh doanh
• Hỗ trợ người dùng nội bộ trong đánh giá, cải thiện và tối ưu hóa khả năng cũng như quy trình hoạt động của tổ chức
Trang 143 Ứng dụng Data Warehouse và BI vào bài toán quản lý đơn hàng
• Tại sao phải quản lý đơn hàng?
+ Nó giúp kiểm soát chi phí và tạo doanh thu bằng cách tự động hóa các quy trình thủ công và giảm lỗi
• Quy trình quản lý đơn hàng:
+ Nhận đơn đặt hành từ khách hàng:
+ Thực hiện đơn đặt hàng của khách hàng
+ Xử lý các quy trình sau bán hàng
3.1.2 Quy mô dữ liệu
Bộ dữ liệu được lấy trên trang Kaggle của chuỗi cung ứng được sử dụng bởi công ty DataCo Global
Quy mô của bộ dữ liệu:
• Bộ dữ liệu gồm 3 file cvs (chỉ sử dụng file DataCoSupplyChainDataset.csv)
• Kích thước 182.5 MB
• DataCoSupplyChainDataset.csv: 53 cột, 180520 dòng
Nhân xét bộ dữ liệu :
• Bộ dữ liệu chưa được xử lý (không nhất quán và bị dư thừa)
• Dữ liệu không có cấu trúc
Do vậy cần phải xử lý dữ liệu để có những phân tích chính xác, hỗ trợ cho việc ra quyết định
Trang 153.1.3 Requirement
• Phân tích số lượng đơn hàng, doanh thu, lợi nhuận
+ Product → Category → Department (công thức cộng): theo các DIM
+ Thời gian: Month → Quarter → Year
+ Market → Region → Country → State → City
+ Giá trị đơn hàng trung bình 1 lần mua
+ Doanh thu, lợi nhuận thu được
• Phân tích các hình thức đặt hàng, thanh toán
• Phân tích về chế độ vận chuyển, thời gian vận chuyển
3.2 Phân tích và thiết kế
3.2.1 Kiến trúc Data Warehouse (DW)
+ Kiến trúc nhiều tầng - cung cấp khả năng mở rộng, đáp ứng tải của DW
Trang 163.2.2 Tiền xử lý dữ liệu
ETL là một quá trình trích xuất dữ liệu từ các hệ thống nguồn khác nhau, sau đó chuyển đổi dữ liệu (như áp dụng các phép tính, ghép nối, v.v.) và cuối cùng tải dữ liệu vào hệ thống Kho dữ liệu Dạng đầy đủ của ETL là Trích xuất, Biến đổi và Tải Việc tạo một Kho dữ liệu không chỉ đơn giản là trích xuất dữ liệu từ nhiều nguồn và tải vào cơ sở dữ liệu của Kho dữ liệu, mà đòi hỏi một quy trình ETL phức tạp Quá trình ETL yêu cầu đầu vào tích cực từ các bên liên quan khác nhau bao gồm nhà phát triển, nhà phân tích, người kiểm tra, giám đốc điều hành hàng đầu và có nhiều thách thức về mặt kỹ thuật Để duy trì giá trị của nó như một công
cụ cho những người ra quyết định, Hệ thống kho dữ liệu cần phải thay đổi cùng với những thay đổi của doanh nghiệp ETL là một hoạt động định kỳ (hàng ngày, hàng tuần, hàng tháng) của
hệ thống Kho dữ liệu và cần phải nhanh nhẹn, tự động và được ghi chép đầy đủ
Cụ thể, với bộ dữ liệu sử dụng trong báo cáo, ta cần thực hiện một số ETL như sau:
• Loại bỏ các trường null, trường không cần thiết
Trang 17Trường “Order Zipcode” chứa nhiều giá trị null, không phục vụ nhiều cho quá trình phân tích nên được xóa bỏ
Các trường “Customer Email”, “Customer Pasword” chứa các giá trị không có nghĩa nên
Trang 18• Định dạng lại kiểu dữ liệu
Các trường có ý nghĩa tiền tệ đổi từ kiểu Decimal Number → Currency
Các trường có ý nghĩa tỉ lệ/ phần trăm đổi từ Decimal Number → Percentage
Các trường có kiếu Date/Time → Date
3.2.3 Mô hình ERD
Trang 193.2.4 Dimension
Trang 20• Fact & Dim
3.2.5 Mô hình OLAP
Trang 21Mô hình OLAP của hệ thống gồm:
• Một bảng Fact: Fact_OrderItem
• Tám bảng Dim:
+ Dim_Order → Dim_Shop
+ Dim Product → Dim_Category
+ Dim Customer_ Dim_DistCustomer
+ Dim_Date
+ Dim_Delivery