1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo đồ án kho dữ liệu và olap

88 217 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 88
Dung lượng 15,48 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong những năm gần đây, công nghệ kho dữ liệu ra đời đáp ứng được nhu cầu quản lý, lưu trữ thông tin có khối lượng lớn và có khả năng khai thác dữ liệu đa chiều và theo chiều sâu nhằm hỗ trợ việc ra quyết định của các nhà quản lý.Đối với các doanh nghiệp nước ngoài, họ đã áp dụng kho dữ liệu trong quản lý phân tích dữ liệu và đã cho thấy hiệu quả to lớn giúp ích cho việc hoạch định các chiến lược kinh doanh cũng như nghiên cứu phát triển các ứng dụng phân tích dữ liệu.Thông qua môn học Kho dữ liệu và Olap và các môn học khác mà các thầy cô khoa Hệ Thống Thông Tin đã truyền đạt kiến thức, giúap chúng em bắt tay vào việc xây dựng đồ án Xây dựng kho dữ liệu Olap và thực hiện Data mining.Bằng cách vận dụng những nền tảng kiến thức đã học được cùng với thái độ học tập nghiêm túc của mình, chúng em mong muốn đồ án đạt được kết quả tốt.Chúng em rất chân thành cảm ơn Cô Ths Nguyễn Thị Kim Phụng đã tận tình giảng dạy và giúp chúng em thực hiện đồ án này.Do thời gian có hạn, đồ án tìm hiểu khó tránh khỏi những thiếu sót, kính mong sự thông cảm và góp ý chân thành của cô.

Trang 1

ĐẠI HỌC QUỐC GIA TP 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 KHO DỮ LIỆU VÀ OLAP

Giảng viên hướng dẫn : ThS Nguyễn Thị Kim Phụng

Sinh viên thực hiện:

1 Nguyễn Lê Nhật Triều Mssv: 12520751

Lớp: Hệ thống thông tin 2012

Khóa: 2012

TP Hồ Chí Minh, tháng 7 năm 2016

Trang 2

LỜI NÓI ĐẦU

Trong những năm gần đây, công nghệ kho dữ liệu ra đời đáp ứng được nhu cầu quản lý,lưu trữ thông tin có khối lượng lớn và có khả năng khai thác dữ liệu đa chiều và theochiều sâu nhằm hỗ trợ việc ra quyết định của các nhà quản lý

Đối với các doanh nghiệp nước ngoài, họ đã áp dụng kho dữ liệu trong quản lý phân tích

dữ liệu và đã cho thấy hiệu quả to lớn giúp ích cho việc hoạch định các chiến lược kinhdoanh cũng như nghiên cứu phát triển các ứng dụng phân tích dữ liệu

Thông qua môn học Kho dữ liệu và Olap và các môn học khác mà các thầy cô khoa HệThống Thông Tin đã truyền đạt kiến thức, giúap chúng em bắt tay vào việc xây dựng đồ

án Xây dựng kho dữ liệu Olap và thực hiện Data mining

Bằng cách vận dụng những nền tảng kiến thức đã học được cùng với thái độ học tậpnghiêm túc của mình, chúng em mong muốn đồ án đạt được kết quả tốt

Chúng em rất chân thành cảm ơn Cô Ths Nguyễn Thị Kim Phụng đã tận tình giảng dạy

và giúp chúng em thực hiện đồ án này

Do thời gian có hạn, đồ án tìm hiểu khó tránh khỏi những thiếu sót, kính mong sự thôngcảm và góp ý chân thành của cô.

2

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN

Trang 4

MỤC LỤC

LỜI NÓI ĐẦU 2

I MÔ TẢ BÀI TOÁN 6

1 Nguồn gốc dữ liệu 6

2 Mô tả thuộc tính 6

II SSIS 7

1 Phân tích dữ liệu 7

 Mô hình dữ liệu 8

 Bảng fact 9

 Bảng Dim_Organization 10

 Bảng Dim_Department 10

 Bảng Dim_Union 10

 Bảng Dim_Job_Family 10

 Bảng Dim_Job 10

 Bảng Dim_Year 10

 Bảng Dim_Year_Type 11

 Mô tả dữ liệu mức vật lý 11

2 Các bước thực hiện 11

Bước 1: Tạo mới một Database 12

Bước 2: Tạo project mới trong công cụ SQL Data Tool, thực hiện quá trình SSIS 14

Bước 3: Tạo Data Flow Task, các nguồn dữ liệu (Excel Source), các OLDB Destination thiết lập các bảng để đổ dữ liệu vào 14

Bước 4: Thực hiện quá trình đổ dữ liệu 20

III SSAS 23

1 Mô tả cube xây dựng measure 23

Bước 1: Tạo project thực hiện tạo các data Source, Data source view 24

Bước 2: Tạo Cube, chọn các trường cần thiết để thực hiện các measure 29

4

Trang 5

Bước 3: Thực hiện một số truy vấn sau khi đã tạo cube và định nghĩa các measure 38

2 Các câu truy vấn MDX 39

3 So sánh một số kết quả thực hiện các câu truy vấn MDX và trên PIVOT TABLE 51

4 Báo biểu và các bước tạo báo biểu (SSRS) 56

IV DATA MINING 69

1 Mô tả dữ liệu 69

2 Mục đích Data Mining 70

3 Các bước thực hiện 70

Bước 1: Tạo mới database, import dữ liệu từ file excel 70

Bước 2: Tạo mới project, tạo data source, tạo Data source View 74

Bước 3: Tạo mining Structure (chọn thuật toán Decision –Cây quyết định ) 81

Bước 4: Thực thi process, hiển thị kết quả 83

4 Rút ra luật 85

V Bảng phân công công việc 87

Trang 6

I MÔ TẢ BÀI TOÁN

1 Nguồn gốc dữ liệu

- Tên dữ liệu: Employee Compensaton(tiền bồi thường cho người lao động)

- Dữ liệu được lấy Ethics/Employee-Compensation/88g8-5mnd

tại:https://data.sfgov.org/City-Management-and File tải về có dạng:

2 Mô tả thuộc tính

Tên thuộc tính Kiểu dữ liệu Ý nghĩa

Year_Type Nvarchar(255) Năm được tính theo 2 loại là năm bình

thường từ (t1 đến t12) và năm tài chính

từ t9 năm nay đến tháng 10 năm sauYear Nvarchar(255) Năm

Organization_Group_Code Float Mã tập đoàn

Organization_Group Nvarchar(255) Tên tập đoàn

Department_Code Nvarchar(255) Mã phòng ban

Department Nvarchar(255) Tên phòng ban

Union_Code Float Mã công đoàn(đại diện quyền lợi cho

6

Trang 7

người lao động)Union Nvarchar(255) Tên công đoàn

Job_Family_Code Float Mã của nhóm công việc

Job_Family Nvarchar(255) Tên nhóm công việc

Employee_Identifier Float Mã để nhận dạng nhân viên

Other_Salaries Float Các khoản lương khác

(Overtime+Salaries,Other Salaries)

Heath_Dental Float Tiền bảo hiểm y tế

Other_Benefits Float Tiền trợ cấp khác (bảo hiểm thất nghiệp,

an sinh xã hội…)Total_Benefits Float

Tổng tiền trợ cấp(Retirement+ Heath_Dental+

Other_Benefits)Total_Compensation Float Tổngtiềnbồithường(Total_Salary +

Total_Benneffits)

II SSIS

1 Phân tích dữ liệu

- Từ dữ liệu có được, nhóm đã phân tích thành 7 bảng dim gồm:

 Dim_Organization: Bảng chứa thông tin mã các tập đoàn và tên tậpđoàn tương ứng với mã

 Dim_Department: Bảng chứa thông tin mã phòng ban và tên phòng ban

Trang 8

 Dim_Union: Bảng chứa thông tin mã công đoàn và tên công đoàn

 Dim_Job_Family: Bảng chứa thông tin mã nhóm công việc và tên tươngứng

 Dim_Job:Bảng chứa thông tin mã công việc và tên công việc

 Dim_Year: Bảng chứa thông tin các năm

 Dim_Year_Type: Bảng chứa thông tinloại năm(Calendar hay Fiscal)

- Và 1 bảng fact chứa các thông tin gồm:mã tập đoàn,mã phòng ban,mã côngđoàn,năm ,loại năm, mã nhóm công việc ,mã công việc,lương cứng,lươngngoài giờ,các lương khác,tổng tiền lường,tiền hưu,tiền bảo hiểm,các khoảntrợ cấp khác,tổng tiền trợ cấp và tổng tiền bồi thường

 Mô hình dữ liệu

 Bảng fact

8

Trang 9

Thuộc tính Kiểu dữ liệu Ràng buộc

Organization_Group_Code Float Khóa ngoạiDepartment_Code nvarchar(255) Khóa ngoại

Trang 10

 Bảng Dim_Organization

Organization_Group_Code float Khóa chínhOrganization_Group_Name nvarchar(255) Null

 Bảng Dim_Department

Department_Code nvarchar(255) Khóa chính

 Bảng Dim_Union

 Bảng Dim_Job_Family

 Bảng Dim_Job

 Bảng Dim_Year

 Bảng Dim_Year_Type

10

Trang 11

Thuộc tính Kiểu dữ liệu Ràng buộc

 Mô tả dữ liệu mức vật lý

- Fact(Id, Organization_Group_Code, Department_Code, Union_Code,

Job_Family_Code, Job_Code, Year_Type, YearID,Salaries, Overtime,Other_Salaries,Total_Salary, Retirement, Heath_Dental,Other_Benefits, Total_Benefits, Total_Compensation): Lưu trữ cácthông tin là khóa chính của các bảng Dimenstion, ngoài ra còn có lương,tổng lương và trợ cấp,trợ cấp khác,tổng bồi thường…

- Dim_Organizatio

n(Organization_Group_Code,Organization_Group_Name ): Lưu trữ

thông tin mã tập đoàn và tên tập đoàn

- Dim_Department (Department_Code ,Department_Name): Lưu trữ

thông tin mã phòng ban và tên phòng ban

- Dim_Union (Union_Code,Union_Name): Lưu trữ thông tin mã công

đoàn và tên công đoàn

- Dim_Job_Family (Job_Family_Code,Job_Family_Name): Lưu trữ

thông tin mã nhóm công việc và tên nhóm công việc

- Dim_Job (Job_Code,Job_ Name): Lưu trữ thông tin mã công việc và

tên công việc

- Dim_Year (YearID): Lưu trữ thông tin năm.

- Dim_Year_Type (Year_Type,): Lưu trữ thông tin loại năm, có 2 cách

tính năm là năm bình thường(calendar) và năm tài chính(Fiscal)

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

Gồm có 4 bước mà nhóm đã chia ra thực hiện:

- Bước 1: Tạo mới một Database để lưu trữ dữ liệu khi đổ vào

- Bước 2: Tạo project mới trong công cụ SQL Data Tool, thực hiện quá trìnhSSIS

Trang 12

- Bước 3: Tạo các Data Flow Task, các nguồn dữ liệu (Excel Source), cácOLE DB Destination thiết lập các bảng để đổ dữ liệu vào.

- Bước 4: Thực hiện quá trình đổ dữ liệu

 Quá trình thực hiện các bước:

Bước 1: Tạo mới một Database.

- Mở công cụ SQL Server (2012), click chuột phải vào phần Database ở

thanh Object Explorer chọn New Database…

12

Trang 13

- Hộp thoại New Database xuất hiện, tiến hành đặt tên cho database ở khung Database nam: và chọn OK

Trang 14

Bước 2: Tạo project mới trong công cụ SQL Data Tool, thực hiện quá trình SSIS.

- Mở công cụ SQL Data Tool, chọn new project và chọn Integeration

Services Project sau đó đặt tên cho project ở khung Name, chọn địa chỉ

lưu ở khung Location sau đó click OK.

Bước 3: Tạo Data Flow Task, các nguồn dữ liệu (Excel Source), các OLDB Destination thiết lập các bảng để đổ dữ liệu vào.

- Ở thanh Toolbox click double vào Data Flow Task

14

Trang 15

- Tiếp theo click double vào biểu tượng Data Flow Task vừa hiện ở tab

Package.dtsx [Design], ứng dụng sẽ chuyển qua phần Data Flow, ở

đây kéo vào Excel Source ở khung Toolbox để xác định nguồn dữ liệu

đổ vào và kéo OLE DB Destinationở khung Toolbox vào để xác định

nơi dữ liệu lưu trữ.Tiến hành đổi tên sao cho phù hợp

Trang 16

- Sau khi đổi tên, click double vào biểu tượng Excel Source ở tab Data

Flow để thực hiện chọn nguồn dữ liệu Khi hộp thoại Excel Source Editor xuất hiện, chọn New -> hộp thoạt Excel Connection Manager

xuất hiện -> chọn Browse và trỏ đường dẫn đến file dữ liệu ->OK Sau khi đã chọn được file dữ liệu nguồn, tiếp theo ở phần Name of Excel

sheet ta chọn bảng dữ liệu cần thiết để đổ vào.

16

Trang 17

- Ngoài ra còn có thể tùy chọn các cột dữ liệu trong bảng cần thiết để đổ

vào bằng cách chọn Columns (ở khung bên trái) sau đó chọn hoặc bỏ đi các cột không cần thiết Chọn OK.

Trang 18

- Tiếp theo kéo mũi tên màu xanh nước biển từ biểu tượng Excel Source

đến OLEDB Destination để tạo liên kết Sau đó click double vào biểu tượng OLE DB Destination ở tab Data Flow để tạo các bảng dim, fact chứa dữ liệu đổ vào Khi hộp thoại OLE DB Destination xuất hiện, ở dòng OLE DB connection manager chọn New để tạo mới một liên kết đến database đã tạo trong SQL Server trước đó, hộp thoại Configure

OLE DB Connect Manager xuất hiện chọn New.

- Ở bảng Connect Manager chọn các thông tin cần thiết để kết nối như Server name, Use SQL Server Authentication và chon tên database

sau đó chọn OK.

- Sau đó ở hộp thoại OLE DB Destination, dòng Name of the table or

view chọn New, hộp thoại Create Table xuất hiện, chỉnh các các thông

tin cần thiết và click OK để tạo bảng, ở đây là khởi tạo các bảng dim,

fact để lưu dữ liệu từ nguồn khi đổ vào database đã tạo trước đó

18

Trang 19

- Tiếp theo ở khung bên trái chọn Mappings để xem việc liên kết các

thuộc tính giữa bảng nguồn và bảng chứa dữ liệu đổ vào để có thể chỉnhsửa nếu chưa đúng

Trang 20

- Sau đó click OK.

- Với các bảng còn lại ta thực hiện tương tự như các bước ở trên

Bước 4: Thực hiện quá trình đổ dữ liệu.

- Sau khi đã tạo các bảng nguồn và bảng chứa dữ liệu hoàn tất, nhấn F5

để công cụ tiến hành đổ dữ liệu vào

20

Trang 21

- Sau khi quá trình đổ thành công sẽ có kết quả thông báo như trên.

- Các bảng mới sẽ có trong database mới tạo

- Và sau khi tạo các khóa ngoại cho các bảng ta sẽ có bộ dữ liệu sau khixây dựng

Trang 23

III SSAS

1 Mô tả cube xây dựng measure

Gồm có 4 bước mà nhóm đã chia ra thực hiện:

- Bước 1: Tạo project thực hiện tạo các data Source, Data source view

- Bước 2: Tạo Cube, chọn các trường cần thiết để thực hiện các measure

- Bước 3: Thực hiện một số truy vấn sau khi đã tạo cube và định nghĩa cácmeasure

 Quá trình thực hiện các bước:

Trang 24

Bước 1: Tạo project thực hiện tạo các data Source,Data source view

a Tạo Data Source

Tạo mới project Chọn Business Intelligence > Analysis Services

-> Analysis Services Multidimensional and Data Mining Project.

Đặt tên project và chọn OK (như trong hình)

- Chuột phải vào Data Sources chọn New Data Source để kết nối

với dữ liệu trên SQL

24

Trang 25

- Xuất hiện bảng Data Source Wizard chọn New để tạo mới một kết

nối đến dữ liệu trong SQL

- Xuất hiện bảng Connect Manager

Trang 26

 Ở ô Server name chọn server name hiện tại của SQL (ở đây của

mình là NGHIEPNN)

 Ở ô Log on to the server (chọn 1 trong 2 lựa chọn):

 Use Windows Authentication : dành cho SQL không cài đặt cổng sa.

 Use SQL Server Authencication : dành cho SQL có cài đặt cổng sa.

Ở đây mình khuyến khích cài đặt cổng sa cho SQL và dùng tùy chọn Use SQL Server Authencication

 Ở ô Connect to Database chọn Select or enter database name

và chọn database đã tạo trong SQL salesDW

- Có thể click Test Connection để kiểm tra kết nối đã thành côngchưa

- Sau khi tạo xong chọn OK thì lúc này ở ô Data Source Wizard sẽ

xuất hiện kết nối mình vừa tạo và thông tin của kết nối đó

26

Trang 27

- Tiếp theo chọn Next và chọn Use the service account rồi chọn Next ->Finish

- Lúc này ta đã tạo xong một kết nối đến database Employee_Compensation trong SQL.

b Tạo Data source view

- Chuột phải vào Data Source Views chọn New Data Source View

Trang 28

- Ở bảng Data Source View Wizard đã tồn tại một Database mà ta

vừa kết nối ở trên nên ta chọn Next.

- Ở tab Select Tables and Views ta chọn bảng FACT mà ta đã tạo

trong SQL và nhấn dấu >để chuyển bảng FACT qua khung

28

Trang 29

Included Objects, tiếp theo chọn Add Related Tables để các bảng

có liên quan đến bảng FACT được add vào Sau đó ta chọn Next ->

Finish.

- Lúc này ta đã tạo xong một data view.

Trang 30

Bước 2: Tạo Cube, chọn các trường cần thiết để thực hiện các measure

- Chuột phải vào Cubes chọn New Cube.

- Ở tab Select Creation Method chọn Use existing tables -> Next.

- Ở tab Select Measure Group Tables check vào FACT (hoặc có thể click Suggest) sau đó Next -> Next -> Finish

30

Trang 32

- Lúc này ta đã tạo xong một Cube có các Dimenstions

32

Trang 34

- Tiếp theo click-double vào bảng Dim Organization , kéo các thuộc

tính từ các bảng này và thả vào ô Attributes

- Tương tự với các bảng còn lại

34

Trang 36

- Tại Cube Emplyee Compensation chọn Process sau đó bấm yes ở

các hộp thoại sau đó

36

Trang 37

- Sau đó hiển thị bảng Process Cube ta bấm Run

- Đợi khi chạy xong ta chọn nút Close của bảng Process Progress

- Tiếp theo ta click chuột phải vào Cube đã tạo và chọn Browse

- Chọn nút excel Lúc này một cửa sổ Excel xuất hiện với chức năngPivot Table, ta sẽ chọn các thuộc tính để thống kê

Trang 38

Bước 3: Thực hiện một số truy vấn sau khi đã tạo cube và định nghĩa các measure.

- Tổng lương của các tập đoàn

- Lương làm thêm giờ của các công việc ở các năm

38

Trang 39

2 Các câu truy vấn MDX

1.Tổng số tiền lương của từng công việc trong năm 2013

select [Measures].[Total Salary] oncolumns,

[Dim Job].[Job Name].membersonrows

from [Employee Compensation]

where [Dim Year].[Year ID].&[2013]

Trang 40

2.Những công việc có số tiền lương lớn hơn 700.000(filter)

select [Measures].[Salaries] oncolumns,

filter([Dim Job].[Job Name].children,[Measures].[Salaries]>700000)

onrows

from [Employee Compensation]

3.Những công việc có số tiền lương lớn hơn 500.000(having)

select [Measures].[Salaries] oncolumns,

{[Dim Job].[Job Name].children}having([Measures].[Salaries]>500000)

onrows

from [Employee Compensation]

40

Trang 41

4 Tổng Số Tiền lương của các tập đoàn năm 2014 theo lịch bình thường

select [Measures].[Total Salary] oncolumns,

{([Dim Year].[Year ID].&[2014],[Dim Organizaton].[Organization Group Name].members)} onrows

from [Employee Compensation]

where ([Dim Year Type].[Year Type].&[Calendar])

Trang 42

5.Tiền lương tăng ca của từng công việc

select [Measures].[Overtime] oncolumns,[Dim Job].[Job Name].childrenonrowsfrom [Employee Compensation]

42

Trang 43

6.Thứ tự giảm dần của tiền lương tang ca theo công việc

select [Measures].[Overtime] oncolumns,

order([Dim Job].[Job Name].children,[Measures].[Overtime],DESC)

onrows

from [Employee Compensation]

7.Số tiền bảo hiểm y tế của công việc "Transit Operator"

select [Measures].[Health Dental] oncolumns,

[Dim Job].[Job Name].&[Transit Operator] onrows

from [Employee Compensation]

Trang 44

8 10 công việc có tiền bảo hiểm y tế cao nhất

select [Measures].[Health Dental] oncolumns,

topcount([Dim Job].[Job Name].children,10,[Measures].[Health Dental])onrows

from [Employee Compensation]

44

Trang 45

9 3 công việc có tổng tiền lương cao nhất

select [Measures].[Total Salary] oncolumns,

head(order([Dim Job].[Job Name].children,[Measures].[Total Salary],DESC),3)onrows

from [Employee Compensation]

10 Tổng tiền lương của các năm tài chính

select [Measures].[Total Salary] oncolumns,

[Dim Year].[Year ID].childrenonrows

from [Employee Compensation]

where ([Dim Year Type].[Year Type].&[Fiscal])

Ngày đăng: 05/07/2021, 20:59

TỪ KHÓA LIÊN QUAN

w