Phân tích Kho dữ liệu (Datawarehouse) bằng OLAP

Sau bài đầu tiên sự khác biệt giữa database và data warehouse, mình đã giới thiệu sự khác nhau giữa database và datawarehouse. Đúng lời hứa, phần này mình đi chi tiết về demo mình đã làm trước đây với các phần mềm có vẻ hơi cũ được thực hiện trên window 7, nhưng đủ dùng và vừa đủ đảm bảo báo cáo chi tiết các bài tập lớn như bộ môn Kho dữ liệu mà một số trường đại học đang dạy:

  • SQL Server 2008 R2
  • Microsoft visual studio 2008

Import mẫu database vào SQL 2008 R2 thông qua SQL Server Management Studio. Bước này các bạn tự tìm hiểu google nhé vì nó khá dễ

https://drive.google.com/file/d/1TWQOe7-1qfrVKgHwASOOHMUH3nJ77VzX/view?usp=sharing

Bước 1: Khởi động môi trường làm việc OLAP Analysis Services - BIDS Environment.

  • Click Start Menu -> Microsoft SQL Server 2008 R2 -> Click SQL Server Business Intelligence Development Studio.

Bước 2: Khởi động Analysis Services Project

  • Click ​ File ​ -> ​ New ​ -> ​ Project ​ -> ​ Business Intelligence Projects ​ ->select Analysis Services Project ​ -> Assign Project ​ Name ​ -> Click ​ OK

Bước 3: Tạo mới Data Source

3.1 Thêm dữ liệu vào cần phân tích

  • Trong cửa sổ Solution Explorer với project đã tạo, chuột phải Data Source -> Click New Data Source

3.2 Tiếp đến click "New"

3.3 Chọn database "Sales_DW"

Database này được import vào SQL 2008 R2 trước đó nên có thể xài luôn \

3.4 Chọn Option "Inherit" và "Next"

Bước 4: Tạo mới Data Source View.

Mục đích để tạo ra một khung nhìn về dữ liệu trực cho project OLAP. Từ đó có thể đưa ra quyết định chính xác xây dựng các khối phục vụ truy vấn.

4.1 Trong cửa sổ Solution Explorer chuột phải "Data Source View" -> Click "New Data Source View"

4.2

  • chọn FactProductSales -> chuyển sang bên mục bên phải.
  • chọn "Fact Table" ở bên phải (FactProductSales) -> Click Add Related Tables

kết quả:

4.5 Giờ đây chúng ta đã tạo ra 1 khung nhìn quan hệ dữ liệu giữa các bảng thực tế

Bước 5: Tạo khối cube và thiết lập các "chiều"(Dim) dựa trên bảng có sẵn

5.1 Chọn "Use exissting tables" -> Click Next

5.2 Lựa chọn bảng cần phân tích các thuộc tính giá trị

Chọn** Fact Table Name** trong Measure Group Tables (FactProductSales) -> Click Next.

5.3 Chọn "Measures" trong các list để hiển thị trong cube sau này -> Click Next

5.4 Tiếp đó chúng ta cần xác định chọn các "chiều" (Dim) cần hiển thị của cube

Chọn tất cả Dimensions liên quan với Fact Table -> Click Next

5.5 Finish

5.6 Cube đã sẵn sàng và hoàn thành các thiết lập "chiều" và các giá trị của nó

Bước 6: Lựa chọn các thuộc tính bảng để làm "chiều" hay để làm giá trị "measure"

Kéo và thả dimension từ Table trong Data Source View và thêm vào Attribute Pane ở bên trái

Tương tự Dim Date, muốn gì được lấy thậm chí Dim Customer

Bước 7: Deploy the Cube

Sau khi 1 loạt setting chọn "chiều" (Dim) measure các loại tùy thuộc bản báo cáo cần dữ liệu gì thì chúng ta đến bước khởi chạy tạo cube dựa theo setting.

7.1 Cài đặt các thuộc tính cần thiết cube trong Deployment Properties.

7.2 Trong "Solution Explorer", chuột phải "Project Name" -- > Click "Deploy"

7.3 Đợi hoàn thành deploy

Bước 8: Khởi chạy cube dựa trên thiết lập deployment

8.1 Click "Run" để chạy "Cube"

Bước 9: Phân tích dữ liệu thông qua "Browser"

9.1 Bước này chính là bước tạo ra các bảng báo cáo, dữ liệu báo cáo dựa trên khối đã tạo ra.

Kéo và thả measures vào trong Detail fields, & Kéo và thả Dimension Attributes vào hàng hoặc cột.

Ví dụ: Để thống kê số lượng Product đã bán theo từng ngày.

  1. Product Name Kéo và thả vào cột. (Thống kê theo product name)
  2. Full Date UK Kéo và thả vào hàng (Thống kê theo ngày)
  3. FactProductSalesCount kéo vào mục: measure in Detail area (Bảng chính để thống kê số lượng sản phẩm bán ra theo ngày)

Kết luận

Có rất nhiều sự kết hợp giữa Dim và các dữ liệu cần measure. Tổng hợp trích xuất báo cáo kiểu dạng như thế này cần rất nhiều trong hệ thống lớn đa dữ liệu khác nhau, các công ty doanh nghiệp lớn nhu cầu rất lớn. Demo này chỉ là đơn giản chưa có sự kết hợp nhiều database. Hi vọng các bạn đọc có chút view gì đó về Datawarehouse.

All Rights Reserved