giới thiệu kỹ thuật xử lý phân tích trực tuyến với sql server - bis
TRANSCRIPT
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
1/24bis.net.v n/f orums/p/450/826.aspx
Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVERBài cuối 10-17-2012 01:47 PM của phamhuy1990. 15 trả lời.
04-28-2011 10:29 PM
chucnv
Tham gia 12-05-2008
Điểm 5,700
Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
OLAP (On-Line Analytical Processing) with SQL SERVER
Nguyễn Văn Chức [email protected]
Trong công nghệ kho dữ liệu (Data Warehouse Technology), OLAP là kỹ thuật để truy xuất dữ liệu chủ yếu trong kho dữ liệu. Dữ liệu trong DW
được tổ chức dưới dạng các khối dữ liệu đa chiều (Multi Dimensional Cube) và OLAP được dùng để phân tích trên dữ liệu khối (cube).
Bài viết này trình bày cách triển khai thực hiện kỹ thuật OLAP trên DBMS SQL Server phiên bản 2005 hoặc cao hơn.
1.Giải thích một số thuật ngữ
Dưới đây tóm lược các thuật ngữ được sử dụng trong bài viết:
Data Warehouse (DW): Được xem là tập các cơ sở dữ liệu hướng chủ đề, có tính lịch sử được tích hợp từ nhiều nguồn dữ liệu qua các quá trình
trích lọc, hợp nhất, chuyển đổi, làm sạch.
Dữ liệu khối (Data Cube): Dữ liệu trong kho dữ liệu được thể hiện dưới dạng đa chiều (Multi Dimension) gọi là khối (cube). Mỗi chiều mô tả
một đặc trưng nào đó của dữ liệu. Ví dụ với Data Cube bán hàng thì chiều hàng hóa (Item) mô tả chi tiết về hàng hóa, chiều thời gian (time) mô
tả về thời gian bán hàng, chiều chi nhánh (Branch) mô tả thông tin về các đại lý bán hàng,…
Để rõ hơn về Data Cube, hình dưới đây minh họa Data Cube của dữ liệu bán hàng từ bảng dữ liệu (Spreadsheet) sang dữ liệu dạng khối với 3
dimensions là: Location (Cities), Time (Quarters) và Item (Types)
Lược đồ hình sao (Star Schema): Đây là mô hình biểu diễn dữ liệu của DW, lược đồ hình sao về cơ bản gồm có bảng sự kiện (Fact Table) và
các bảng chiều (Dimension table). Fact table đùng để theo dõi các biến động của dữ liệu, cấu trúc của Fact table gồm các khóa ngoại đó là các
khóa chính của cả bảng chiều (Dimension table). Dimension Table là các bảng mô tả các đặt trưng của các chiều như chiều thời gian, chiều khách
hàng, chiều hàng hóa,…
Dưới đây minh họa lược đồ hình sao của bài toán bán hàng. Đây cũng là dữ liệu dùng để minh họa trong phần tiếp theo khi thực hiện OLAP
trên SQL Server. Trong đó Fact table là Sales và 4 Dimension tables là time (chiều thời gian) , item (chiều hàng hóa) , location (chiều bị trí) và
branch (chiều chi nhánh)
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
3/24bis.net.v n/f orums/p/450/826.aspx
Measure (độ đo): Là đại lượng có thể tính toán được trên các thuộc tính của fact table. Đây là mục tiêu của OLAP và phải xác định trước khi
tiến hành phân tích. Ví dụ như tổng tiền bán hàng của một chi nhánh, doanh thu của từng mặt hàng theo quí,…
Phân cấp (Hierarchies): Khái niệm này mô tả sự phân cấp thứ bậc (mức độ chi tiết của dữ liệu). Ví dụ đối với chiều thời gian, ta có thực bậc
như sau: day<week<month<quarter<year. Tương tự đối với chiều location ta có thứ bậc street<city<province_or_state<country. Trong khi
phân tích dữ liệu chúng ta rất cần khái niệm này để tổng hợp hay chi tiết từng hạng mục dữ liệu trong DW.
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
4/24bis.net.v n/f orums/p/450/826.aspx
2. Mô tả ứng dụng phân tích OLAP
Bài toán mô tả trong phần này là bài toán bán hàng, gồm có 1 Fact table là Sales và 4 Dimension table là time, item, location và branch (Xem
lược đồ hình sao trên).
Fact Table (Sales): Lưu giữ các biến động về quá trình bán hàng, gồm các khóa ngoại của 4 dimension tables và 2 thuộc tính là giá bán (dollars_
sold) và số lượng bán (units_sold)
Các dimension table:
Time: lưu giũ thông tin về thời gian bán hàng.
Location: Lưu giữ thông tin về vị trí
Branch: Lưu trữ thông tin về chi nhánh
Item: Lưu trữ thông tin về hàng hóa
Mục đích mô tả hoạt động OLAP để phân tích hoạt động bán hàng của một doanh nghiệp.
3. Triển khai OLAP trong SQL Server
Lưu ý: Để có công cụ phân tích OLAP, bạn phải cài đặt SQL Server 2005 (2008) phiên bản Developer hoặc phiên bản Enterprise Edition đầy
đủ và khi cài đặt nhớ chọn mục “SQLServer Database Services” và “Analysis Services”. Công cụ cho phép thực hiện OLAP là “SQL Server
Business Intelligence Development Studio - BIDS”. Khi cài SQL Server các phiên bản trên thì BIDS sẻ được tự động cài đặt.
Các bước thực hiện:
Khởi động SQL Server Management Studio và tạo CSDL có tên DW như sau và nhập vào các bảng một số records để phân tích.
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
5/24bis.net.v n/f orums/p/450/826.aspx
Khởi động SQL Server Business Intelligence Development Studio
Tạo một Analysis Services Project mới có tên “OLAP_DW”
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
6/24bis.net.v n/f orums/p/450/826.aspx
Trong của sổ Solution Explorer của Project OLAP_DW, bấm phím phải chuột vào Data Source để tạo một bộ kết nối đến dữ liệu dùng cho
phân tích.
Xác định các tham số kết nối đến kho dữ liệu có tên “DW” đã tạo ra trong SQL Server Management Studio.
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
bis.net.v n/f orums/p/450/826.aspx
Đặt tên cho Data Source vàm bấm Finish để hoàn thành việc kết nối đến cơ sở dữ liệu.
Tạo Data Source View để lấy các bảng dữ liệu cần thiêt cần cho phân tích. Bấm phím phải chuột vào Data Source View trong của sổ Solution
Explorer chọn New Data Source View
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
8/24bis.net.v n/f orums/p/450/826.aspx
Xác định nguồn dữ liệu (Data Source) cần lấy là DW mới vừa tạo ra ở bước trước
Chọn Next và chọn các bảng cần cho phân tích
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
9/24bis.net.v n/f orums/p/450/826.aspx
Chú ý: Nếu bạn muốn chọn bảng Fact và các bảng Dimension liên quan đến bảng Fact thì chỉ cần chọn Fact Table đưa qua khung bên phải và
bấm nút "Add Related Tables" để tự động lấy các bảng Dimensions liên quan.
Sau khi hoàn thành, các bảng Fact và Dimension như sau:
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
10/24
Sau khi tao Data Source và Data Source View ta tạo dữ liệu khối cho phân tích bằng cách bấm chuột phải lên Cube trong Solution Explorer và
chọn New Cube
Chọn Next và chọn nguồn dữ liệu cho Khối (DW), hệ thống sẽ tự động dò tìm fact và Dimension Tables
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
11/24bis.net.v n/f orums/p/450/826.aspx
Kết quả như sau:
Bấm Next để thiết lập chiều thời gian. Chú ý, thời gian là một chiều rất quan trọng trong kho dữ liệu nói chúng và phân tích OLAP. Vì vậy nếu
bạn không xác định chiều thời gian thì hệ thống sẽ tự động tạo ra một chiều thời gian để quản lý.
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
bis.net.v n/f orums/p/450/826.aspx
Bấm Next để xác định các độ đo (Measure) cho phân tích. Nhắc lại rằng độ đo là các đại lượng phản ảnh mục tiêu phân tích, tính toán. Đó là
các phép toán trên thuộc tính có thể tính toán trong bảng Fact.
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
13/24
Bấm Next, hệ thống sẽ tự động phát hiện các cấu trúc phân cấp (Hierarchies) trong các Dimesion Tables
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
14/24bis.net.v n/f orums/p/450/826.aspx
Xem lại các chiều trong khối
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
15/24
Đặt tên khối (DW)và bấm finish để sinh ra khối. Khối dữ liệu với các chiều được sinh ra
Sau khi tạo ra khối dữ liệu cho phân tích, để thực thi OLAP ta bấm phím phải chuột vào tên project trong Solution Explorer và chọn Deploy
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
16/24bis.net.v n/f orums/p/450/826.aspx
Project được thực thi thành công như sau
Sau khi thực thi xong project, để thực hiện các phân tích OLAP phục vụ cho công tác quản lý, bấm phím phải chuột vào Cube trong Solution
Explorer chọn Browse để xuất hiện mà hình phân tích:
05/01/2013
17/24bis.net.v n/f orums/p/450/826.aspx
Màn hình phân tích OLAP như sau:
Panel bên trái chứa các Measure và các Dimensions đã định nghĩa khi xây dựng khối.
Panel bên phải chia làm 2 cửa sổ, cửa sổ phía trên dùng để xác định các điều kiện để phân tích, cửa sổ phía dưới chứa kết quả các measure khi ta
kéo thả (drag and drop) các measure từ panel bên trái qua. Tùy theo mục đích phân tích mà chúng ta xác lập các biểu thức phân tích cho phù
hợp.
Ví dụ với thiết lập như dưới đây có nghĩa là yêu cầu cho biết số lần (Sales Count) và tổng số lượng (Unit Sold) hàng mà chi nhánh Danang đã
bán.
Thiết lập dưới đây cho biết Mặt hàng của hãng Intel đã được bán bao nhiêu lần với tổng số lượng bao nhiêu tại chi nhánh HCM
Màn hình thiết kế OLAP rất dễ sử dụng và linh hoạt, bạn có thể kéo thả các Dimension và các Measure từ Panel bên trái sang panel bên phải.
Ví dụ ta có thể kéo thả thuộc tính Branch Name trong Dimension Branches sang panel bên phải và hệ thống sẽ cho biết số lượng và số lần bán
các sản phẩm theo từng chi nhánh như sau:
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
18/24bis.net.v n/f orums/p/450/826.aspx
Tùy theo nhu cầu phân tích dữ liệu, bạn có thể tạo ra các lát cắt (slice) dữ liệu trên nhiều chiều khác nhau để sinh
ra các tổng hợp dữ liệu cần thiết cho nhu cầu phân tích dữ liệu trong kho rất nhanh chóng và tiện lợi. Hình dưới đâycho biết số lượng và số lần bán các mặt hàng theo từng chi nhánh dựa trên lát cắt 2 chiều Branches và Items
Các tab Dimension Usage, Caculations, KPIs, Actions, Partitions, Perspectives, translations được dùng để mở rộng khả năng phân tích của
OLAP.
Ngoài kỹ thuật phân tích OLAP, SQL Server Business Intelligence Development Studio còn cung cấp các kỹ thuật để khai phá dữ liệu
như Regression, Association, Decision tree, Time Series, Clustering.. trong mục Mining Structure rất mạnh và tiện lợi để xây dựng các mô
hình khai phá dữ liệu (sẽ trình bày ở bài viết khác)
Xem Video minh họa OLAP tại đây
All comments please send to [email protected]. Thank you and Welcome!
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
19/24bis.net.v n/f orums/p/450/826.aspx
Từ khóa đại diện: data warehouse, kho dữ liệu, OLAP, Phân tích xử lý trực tuyến, Data Mining, Business Intelligence, Tin học quản
lý, Management Information Systems
05-03-2011 06:33 PM trả lời
little_title
Tham gia 03-09-2011
Điểm 70
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Cảm ơn đã chỉ dẫn thật cụ thể và dễ hiểu. Hồi trước học về Data Warehoues và OLAP nhưng chưa triển khai thử bao giờ nên cũng khó hình
dung. Bài viết rất có ích đối với nhiều người quan tâm đến DW và OLAP.
Thanks the Author,
05-10-2011 09:20 PM trả lời
hiengiang
Tham gia 11-11-2010
Điểm 400
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Đọc Data Warehouse và OLAP trên lý thuyết nếu không thực hành thì rất khó hình dung. Cảm ơn tác giả đã Post Tutorial rất chi tiết về phân
tích OLAP.
06-16-2011 11:12 PM trả lời
hungpvp Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Mình đang tìm hiểu về lĩnh vực DW. Bài viết quá hữu ích. Đọc lý thuyết khó mà hình dung được. Thanks again!
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
20/24bis.net.v n/f orums/p/450/826.aspx
Tham gia 06-16-2011
Điểm 40
10-14-2011 10:13 AM trả lời
myhuong
Tham gia 10-14-2011
Điểm 20
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Bài viết hướng dẫn về OLAP quá tuyệt, cảm ơn tác giả.
Một diễn đàn rất hữu ích và nhiều bài viết có giá trị về Data Mining. Hy vọng sẽ được học hỏi nhiều hơn nữa từ mọi người.
Chân thành cảm ơn,
Từ khóa đại diện: data warehouse, OLAP, Data Mart
02-08-2012 11:52 PM trả lời
huyenrua
Tham gia 02-08-2012
Điểm 70
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
trường hợp là bh em có csdl ở ms access rồi.em muốn sử dụng cái csdl này như cái DW mình tạo cho dự án này thì phải làm ntn ạ.em đang rất
cần câu trả lời? T_____________T .Mong anh chị giúp đỡ@import url(data:text/css,);
02-09-2012 10:38 AM trả lời
chucnv Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Chào em,
Nếu em đã có DL trong Access được thiết kế theo mô hình của DW (Gồm FactTable và các DimensionTable) thì em có thể chuyển dữ liệu đã có
vào MS SQL SERVER thông qua chức năng Import. Tuy nhiên khi chuyển qua SQL SERVER em vào Diagram để kiểm tra lại các mối quan hệ
giữa FactTable và các DimensionTable có còn đúng hay không. Nếu OK rồi thì em có thể dùng để triển khai OLAP
Chúc em thành công,
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
21/24bis.net.v n/f orums/p/450/826.aspx
Tham gia 12-05-2008
Điểm 5,700
02-09-2012 09:51 PM trả lời
huyenrua
Tham gia 02-08-2012
Điểm 70
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Vâng em cảm ơn anh ạ.Nhưng khi thực hiên Data Source view đến đoạn lấy các bảng dữ liệu cần dùng : chọn Fact Table
đưa qua khung bên phải và bấm nút "Add Related Tables" để tự động lấy các bảng Dimensions liên quan=> thìem ko thấy xuất hiện các bảng liên quan mặc dù trong access em có tạo relationship cho chúng và cũng chưachọn những bảng có liên quan đến fact table qua bên phải .Em phải làm gì để có được relationship giữa các bảngkhi thực hiện Data Source view ạ? Mong anh giúp đỡ ngay ạ T________T em đang rất cần!@import url(data:text/css,);
02-09-2012 10:20 PM trả lời
chucnv
Tham gia 12-05-2008
Điểm 5,700
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Sau khi chuyển DL từ Access vào SQL SERVER thì thường có một số thay đổi như Hủy khóa chính (trường hợp này em phải thiết lập lại khóa
chính) và không duy trì các mối quan hệ giữa các bảng (Trường hợp này vào Relationship Diagram trong SQL SERVER để thiết lập lại)
Chúc em thành công,
05-29-2012 03:03 PM trả lời
hxvampire Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Anh chucnv ơi,
em làm theo hướng dẫn bài viết nhưng khi tiến hành process cube thì bị lỗi như sau. Anh check giúp em với, em đang cần gấp, em dùng sql server
2008. Cám ơn anh!
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
22/24bis.net.v n/f orums/p/450/826.aspx
Tham gia 04-24-2012
Điểm 125
05-29-2012 11:01 PM trả lời
chucnv
Tham gia 12-05-2008
Điểm 5,700
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Chào em,
Anh Attach Database của em và thực hiện OLAP trên SQL Server 2008 R2 khi Deploy không thấy báo lỗi gì.
Em xem lại các tham số của BIDS SERVER bằng cách right click trên Project muốn Deploy, chọn Properties, trong mục Configuration
properties chọn mục Deployment xem lại các tham số trong mục Target gồm Server và Database đúng chưa.
Chúc em thành công
05-31-2012 02:36 PM trả lời
hxvampire Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
23/24bis.net.v n/f orums/p/450/826.aspx
Tham gia 04-24-2012
Điểm 125
Cám ơn anh! Em đã khắc phục được rồi ạ. Mong anh sẽ ngày càng có nhiều bài viết hay và bổ ích như thế này nữa.
06-07-2012 05:43 PM trả lời
hxvampire
Tham gia 04-24-2012
Điểm 125
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Anh chuvn ơi,
Anh có thể viết một bài hướng dẫn về cách sử dụng các tab Caculations và KPIs trong cube được không ạ? Rất cám ơn anh!
06-15-2012 10:59 AM trả lời
nguyenvandung
Tham gia 12-18-2011
Điểm 110
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Chào thầy Chức!
Rất mong thầy chỉ ra được những bài toán ứng dụng trong thực tế sản xuất kinh doanh, cách thu thập số liệu, ổ chức số liệu như thế nào, sử
dụng phần mềm nào, sử dụng nó như thế nào và đọc ra sao và những kết luận về kết quả phân tích tích ra quyết định.
Sao thầy không giúp giới thiệu những phần mềm chuyên nghiệp hơn để phân tích OLAP hơn mà phải tự nghiên cứu phần mềm mã nguồn mở.
07-02-2012 10:42 PM trả lời
05/01/2013 Giới thiệu kỹ thuật xử lý phân tích trực tuy ến v ới SQL SERVER - BIS
24/24bis.net.v n/f orums/p/450/826.aspx
tmtuan3110
Tham gia 07-02-2012
Điểm 20
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Em mắc lỗi gần giống bạn hxvampire. Em Deployment Failed khi deploy project. Mong anh giúp đỡ.
10-17-2012 01:47 PM trả lời
phamhuy1990
Tham gia 10-17-2012
Điểm 20
Re: Giới thiệu kỹ thuật xử lý phân tích trực tuyến với SQL SERVER
Thầy ơi , có thể cho em 1 cơ sở dữ liệu mẫu như của thầy để em thực hành ví dụ được không ạ ?
Trang 1 trong số 1 (16 nội dung)
©2008-2012 Business Intelligence Solution