ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA HỆ THỐNG THÔNG TIN
BÁO CÁO ĐỒ ÁN
XÂY DỰNG VÀ PHÂN TÍCH DỮ LIỆU BÁN LẺ CỦA SIÊU THỊ TỒN
CẦU TỪ NĂM 2011 ĐẾN 2014
Mơn học: Kho dữ liệu và Olap
Lớp: IS217.L11
Giảng viên: Ths. Đỗ Thị Minh Phụng
Nhóm thực hiện:
Nguyễn Đức Tuấn - 16521546
Nguyễn Văn Trí - 16521287
Mục Lục
1.
Giới thiệu đề tài
5
1
2.
1.1.
Giới thiệu
5
1.2.
Nguồn gốc dữ liệu
5
Quá trình xây dựng kho dữ liệu (SSIS):
2.1.
Diagram DataWarehouse
8
2.2.
Mô tả
8
2.2.1.
Bảng DIM_CUSTOMER
8
2.2.2.
Bảng Dim_PRODUCT
8
2.2.3.
Bảng DIM_GEOGRAPHY
9
2.2.4.
Bảng DIM_SHIP_MODE
9
2.2.5.
Bảng DIM_ORDER_PRIORITY
9
2.2.6.
Bảng Dim_SHIP_TIME
9
2.2.7.
Bảng Dim_ORDER_TIME
9
2.2.8.
Bảng FACT
2.3.
Đổ dữ liệu
2.3.1.
Kết nối cơ sở dữ liệu
10
11
11
2.3.1.1.
Tạo mới 1 Project
11
2.3.1.2.
Tạo Flat File Connection chứa dữ liệu file csv
12
2.3.1.3.
Tạo OLE DB Destination và thiết lập kết nối xuống SQL Server
14
2.3.2.
Tạo bảng DIM_GEOGRAPHY
15
2.3.3.
Tạo bảng DIM_CUSTOMER
18
2.3.4.
Tạo bảng DIM_ORDER_PRIORITY
20
2.3.5.
Tạo bảng DIM_PRODUCT
22
2.3.6.
Tạo bảng DIM_ORDER_TIME
24
2.3.7.
Tạo bảng DIM_SHIP_MODE
26
2.3.8.
Tạo bảng DIM_SHIP_TIME
28
2.3.9.
Tạo bảng FACT
29
2.4.
3.
8
Thực thi toàn bộ quá trình SSIS
Truy vấn dữ liệu (SSAS):
31
32
3.1.
Tạo khối dữ liệu
32
3.2.
Tạo một Data Source
32
3.3.
Tạo cube
36
3.4.
Deploy and process
56
3.5.
Truy vấn dữ liệu
57
3.5.1.
Chọn n khách hàng có lợi nhuận cao nhất
57
2
3.5.2.
Chọn ra 30 sản phẩm có số lượng mua cao nhất
58
3.5.3.
Tìm ra các region có shipping cost lớn hơn 80000 tại market là EU
59
3.5.4.
Tìm ra 20 nước có tỉ lệ giảm giá dần trừ 10 nước cao nhất với loại sản phẩm là Furniture 59
3.5.5.
Số lượng bán của Sub-category theo quý và năm
61
3.5.6.
Thống kê số lượng giảm giá, lợi nhuận, sales, phí ship ở các loại sản phẩm
62
3.5.7.
Thống kê số lượng loại sản phẩm nhỏ nhất bán theo tuần
62
3.5.8.
Tính sales tăng trưởng quý này so với quý trước
63
3.5.9.
Tính tổng sales từ đầu tới một ngày cụ thể
63
3.5.10.
Số lượng sản phẩm bán ra 3 năm gần đây và so sánh sự tăng giảm
64
3.5.11.
Thêm vào KPI câu 3.5.10 và thực hiện lại
65
3.5.12.
Thống kê sales của các quốc gia theo quý-năm và sub-category
66
3.5.13.
Tính top các sản phẩm bán chạy, đánh thứ hạng và so sánh thứ hạng đó với năm 2013 67
3.5.14.
Tính Sales của năm 2013 đối với loại sản phẩm Funiture và của năm 2014 đối với loại sản
phẩm Technology
68
3.5.15.
Thống kê sales theo từng tháng của hai nước có tổng sales cao nhất ở 3 loại sản phẩm là
Furniture, Office Suplies, Technology
68
4.
REPORT
4.1.
Tạo report sử dụng công cụ SSRS
69
4.1.1.
Khởi tạo project
69
4.1.2.
Kết nối với Project SSAS để tạo nội dung report
70
4.1.3.
Báo cáo định lượng hàng hóa của khách hàng tại các chợ
71
4.1.4.
Lợi nhuận mặt hàng theo từng khu vực
74
4.1.5.
Thống kê doanh số mỗi loại sản phẩm đã bán trong từng quý của năm 2014
76
4.1.6.
Doanh số mặt hàng cho từng phân khúc
79
4.2.
5.
69
Tạo report sử dụng Power BI
82
4.2.1.
Tạo kết nối với SQL Server Analysis với Power BI
82
4.2.2.
Số lượng đặt hàng tại nơi bán sản phẩm qua các năm
83
4.2.3.
Thống kê lợi nhuận theo mơ hình ship và độ ưu tiên
84
4.2.4.
Giá ship theo các năm của mỗi nơi bán sản phẩm
84
Data Mining
85
5.1.
Tạo Mining Structure sử dụng nguồn Data warehouse hoặc Cube
85
5.2.
Chọn mơ hình khai phá dữ liệu phù hợp với dữ liệu và yêu cầu
85
5.3.
Chọn Dimension
86
3
5.4. Chọn thuộc tính của Dimension cần so sánh khi gom cụm và measure của bảng Fact làm thuộc
tính của vector trọng số.
86
5.5.
Do sử dụng thuật toán gom cụm nên đặt phần trăm dữ liệu test về 0
87
5.6. Cài đặt tham số cho giải thuật: đặt số lượng cụm bằng 0 để thuật toán tự động xác định số lượng
cụm phù hợp nhất với dữ liệu thay vì mặc định là 10 cụm
88
5.7. Sau khi phân cụm hoàn tất sẽ nhận được sơ đồ liên kết giữa các cụm và phân bổ giá trị trên các
cụm theo độ phổ biến, theo các thuộc tính đầu vào đã chọn
88
88
5.8. Thuộc tính cụm cho thấy sự hiện diện của các thành phố trên các cụm. Ví dụ: Cụm số 2 với tổng
doanh số dưới 1091$ có sự tập trung chủ yếu của Market EU
89
5.9. Tab đặc điểm cụm cho thấy thông tin chi tiết từng cụm với độ phổ biến theo giá trị doanh số và
sự hiện diện của các Market trên các cụm đó
89
4
1. Giới thiệu đề tài
1.1. Giới thiệu
Ngành bán lẻ đang không ngừng phát triển, với một siêu thị, cửa hàng hay chợ thì
việc thống kê hay kiểm tra doanh số, lợi nhuận bán hàng là điều tất yếu. Từ việc thu
thập dữ liệu thì những nhà kinh doanh có thể phân tích và đánh giá những sản phẩm
tiềm năng hay những mặt hàng phù hợp với những khoảng thời gian nhất định. Vì vậy,
nhóm chúng tơi quyết định lựa chọn dữ liệu về doanh số bán lẻ của một siêu thị tồn cầu
để phân tích và dự đốn, đưa ra một số đánh giá giúp phát triển siêu thị.
1.2. Nguồn gốc dữ liệu
Dữ liệu về số liệu bán lẻ của một siêu thị toàn cầu trong 4 năm từ đầu năm 2011 tới
cuối năm 2014, bao gồm 24 thuộc tính và 51290 dịng dữ liệu về thơng tin của sản
phẩm đã bán.
Link dữ liệu: />Mô tả dữ liệu:
Dữ liệu được phân chia và đặt lại theo tên và kiểu dữ liệu
STT
Thuộc tính
Kiểu dữ liệu
Mơ tả
1
Row ID
int
Số thứ tự của đơn hàng
2
Order ID
varchar
Mã định danh của đơn hàng
3
Order Date
datetime
Ngày đặt hàng
4
Ship Date
datetime
Ngày giao hàng
5
Ship Mode
varchar
Hình thức giao hàng
5
Customer ID
varchar
Mã định danh của khách hàng
6
Customer Name
nvarchar
Tên khách hàng
7
Segment
varchar
Phân khúc khách hàng
8
City
varchar
Thành phố
9
State
varchar
Bang
10
Country
varchar
Quốc gia
11
Postal Code
varchar
Mã bưu điện
12
Market
varchar
Nơi bán sản phẩm đó
5
13
Region
varchar
Khu vực giao dịch
14
Product ID
varchar
Mã sản phẩm
15
Product Name
nvarchar
Tên sản phẩm
16
Category
varchar
Phân loại sản phẩm
17
Sub-Category
varchar
Tiểu mục của từng loại sản
phẩm
18
Sales
float
Giá thành sản phẩm
19
Quantity
int
Số lượng mua
20
Discount
float
Tỉ lệ giảm giá đơn hàng đó
21
Profit
float
Lợi nhuận thu được
22
Shipping Cost
float
Phí giao hàng
23
Order Priority
varchar
Độ ưu tiên khi đặt hàng
6
2. Q trình xây dựng kho dữ liệu (SSIS):
2.1.
Diagram DataWarehouse
2.2.
Mơ tả
2.2.1. Bảng DIM_CUSTOMER
STT
Tên trường
Mơ tả
1
Customer ID
Khóa chính của bảng, mã định danh khách hàng
2
Customer Name
Tên khách hàng
3
Segment
Phân khúc khách hàng
2.2.2. Bảng Dim_PRODUCT
STT
Tên trường
Mơ tả
1
Product_ID
Khóa chính của bảng, mã sản phẩm
2
Product Name
Tên sản phẩm
3
Sub-Category
Tiểu mục từng loại sản phẩm
7
4
Category
Phân loại sản phẩm
2.2.3. Bảng DIM_GEOGRAPHY
STT
Tên trường
Mơ tả
1
geoID
Khóa chính của bảng
2
City
Thành phố
3
State
Bang
4
Country
Quốc gia
5
Region
Khu vực giao dịch
6
Market
Nơi bán sản phẩm đó
2.2.4. Bảng DIM_SHIP_MODE
STT
Tên trường
Mơ tả
1
Ship_Mode_ID
Khóa chính của bảng
2
Ship Mode
Hình thức giao hàng
2.2.5. Bảng DIM_ORDER_PRIORITY
STT
Tên trường
1
Order_priority_id
Khóa chính của bảng
2
Order Priority
Độ ưu tiên khi đặt hàng
2.2.6. Bảng Dim_SHIP_TIME
STT
Tên trường
Mơ tả
Mơ tả
1
Ship_Date
Khóa chính của bảng
2
Ship_day
Ngày giao hàng
3
Ship_month
Tháng giao hàng
4
Ship_year
Năm giao hàng
5
Quarter_ship
Quý giao hàng
8
6
Week_ship
Tuần giao hàng
2.2.7. Bảng Dim_ORDER_TIME
STT
Tên trường
Mơ tả
1
Order_Date
Khóa chính của bảng
2
order_day
Ngày đặt hàng
3
order_month
Tháng đặt hàng
4
order_year
Năm đặt hàng
5
quarter_order
Quý đặt hàng
6
week_order
Tuần đặt hàng
2.2.8. Bảng FACT
STT
Tên trường
Mô tả
1
Row ID
Số thứ tự của đơn hàng
2
Order ID
Mã định danh của đơn hàng
3
Quantity
Số lượng mua
4
Discount
Tỉ lệ giảm giá đơn hàng
5
Profit
Lợi nhuận thu được
6
Sales
Giá thành phẩm
7
Customer ID
Khóa bảng khách hàng, liên kết tới bảng Dim_Customer
8
geoID
Khóa, liên kết tới bảng Dim_Geography
9
2.3.
9
Order_priority_id
Khóa liên kết với bảng Dim_Order_Priority
10
Product_ID
Khóa liên kết với bảng Dim_Product
Đổ dữ liệu
2.3.1. Kết nối cơ sở dữ liệu
2.3.1.1. Tạo mới 1 Project
10
2.3.1.2.
Tạo Flat File Connection chứa dữ liệu file csv
11
Số dòng định dạng để lấy hết dữ liệu cần 51290
12
Tạo CSDL mới (SSIS_OLAP) ở Microsoft SQL Server 2014
2.3.1.3.
Tạo OLE DB Destination và thiết lập kết nối xuống SQL Server
13
Dữ liệu được kết nối và được đổ xuống CSDL
2.3.2. Tạo bảng DIM_GEOGRAPHY
Sử dụng OLE DB Source chứa dữ liệu cần đổ vào bảng DIM_GEOGRAPHY
14
Chọn các thuộc tính cần thiết cho bảng
15
Sắp xếp và lọc dữ liệu trùng
Bảng Dim_GEOGRAPHY đã được tạo ở database
16
Dữ liệu đã được đổ vào bảng DIM_GEOGRAPHY ở Database thành công.
2.3.3. Tạo bảng DIM_CUSTOMER
Sắp xếp và lọc các dữ liệu trùng trong bảng DIM_CUSTOMER
17
Bảng DIM_CUSTOMER đã được tạo ở DATABASE
18
Dữ liệu đã được đổ vào bảng DIM_CUSTOMER ở Database thành công.
2.3.4. Tạo bảng DIM_ORDER_PRIORITY
Bảng DIM_ORDER_PRIORITY đã được tạo
19
20
Dữ liệu đã được đổ vào bảng DIM_ORDER_PRIORITY ở DATABASE
2.3.5. Tạo bảng DIM_PRODUCT
21
Bảng DIM_PRODUCT đã được tạo ở DATABASE
22
Dữ liệu đổ vào bảng DIM_PRODUCT thành công
2.3.6. Tạo bảng DIM_ORDER_TIME
Trong OLE DB Destionation sử dụng SQL command, viết câu query tạo bảng
23
Dữ liệu trùng lặp được loại bỏ, và bảng đã được tạo ở DATABASE
24
Dữ liệu được đổ vào bảng DIM_ORDER_TIME ở DATABASE
25