Lập trình khai phá dữ liệu với AnalysisServices APIs

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng công cụ dự đoán kết quả học tập của sinh viên đại học đồng tháp (Trang 52 - 54)

ADOMD.NET là một thƣ viện API dành cho các thành viên lập trình .NET lập trình với dịch vụ phân tích (Analysis Services), làm cho việc xây dựng các ứng dụng khai phá dữ liệu ở máy khách trở nên dễ dàng hơn.

Để sử dụng đƣợc các API trong dịch vụ phân tích, ta cần thêm vào các DLL cần thiết. Microsoft đã cung cấp các gĩi DLL hỗ trợ việc kết nối và tƣơng tác với Analysis Services [8, 9]. Để sử dụng ADOMD.NET trong ứng dụng, ngƣời dùng

thêm thƣ viện Microsoft.analysisservices.adomdclient.dllvào project và trong mã nguồn sử dụng thêm namespace Microsoft. AnalysisServices. AdomdClient nhƣ sau:

using Microsoft.AnalysisServices.AdomdClient;// đối với C#

importsMicrosoft.AnalysisServices.AdomdClient// đối với VB.NET Các bƣớc thao tác với ADOMD.NET nhƣ sau:

1) Kết nối đến dịch vụ phân tích Analysis Services của hệ quản trị CSDL MS SQL Server 2008 qua ADOMD.NET:

Ví dụ:

string chuoiketnoi = "Data Source=PC; Initial Catalog= Tuvanhoctap"; AdomdConnection con = new AdomdConnection(chuoiketnoi);

con.Open(); // Mở kết nối

Trong đĩ:

- AdomdConnection: là đối tƣợng thực hiện kết nối.

- chuoiketnoi: là chuỗi kết nối đến dịch vụ Analysis Services với tên máy chủ là PC, tên dịch vụ phân tích là Tuvanhoctap. Nếu kết nối từ xa qua tài khoản thì chuỗi này cần cĩ thêm User ID là tên tài khoản và Password là mật khẩu truy cập tới CSDL trên.

2) Thực hiện các lệnh truy vấn DMX với ADOMD.NET

Ví dụ: tạo một truy vấn dự đốn xem một sinh viên sẽ đạt kết quả học tập cuối khĩa loại gì:

AdomdCommand cmd = new AdomdCommand();

cmd.CommandText="SELECT[NaiveBayes].[Ketqua],PredictProbability([Ketqua] ) ,PredictSupport([Ketqua]) From [NaiveBayes] NATURAL PREDICTION JOIN (SELECT " + strGioitinh + " AS [Gioitinh]," + strDiemthi + " AS [Diemthits]," + strMalotrinh + " As [Ma Lotrinh]," + strManganh + " AS [Manganh]) AS t";

con.Open(); cmd.Connection = con; string prob; AdomdDataReader dr; dr = cmd.ExecuteReader(); if (dr.Read()) { txtPredictNaiveBayes.Text =dr.GetValue(0).ToString();

prob = dr.GetValue(1).ToString();

decimal per = Convert.ToDecimal(prob);

decimal per1 = System.Math.Round((per * 100),2); txtProbNaiveBayes.Text = Convert.ToString(per1); decimalsupp=Convert.ToDecimal(dr.GetValue(2).ToString()); decimal supp1=System.Math.Round(supp); txtSuppNaiveBayes.Text = Convert.ToString(supp1); } dr.Close(); Trong đĩ:

- AdomdCommand: đối tƣợng command thực hiện các truy vấn DMX. - Thuộc tính CommandText: chứa chuỗi truy vấn DMX.

- Thuộc tính Connection: chứa đối tƣợng kết nối đến dịch vụ phân tích. - Phƣơng thức ExecuteReader: trả về kết quả truy vấn vào đối tƣợng AdomdDataReader.

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng công cụ dự đoán kết quả học tập của sinh viên đại học đồng tháp (Trang 52 - 54)