Archive

Archive for May, 2011

Truy xuất dữ liệu từ Cube với MDX và ADOMD.NET


Trong bài viết trước, Phong có chia sẻ về việc kết nối tới SSAS của SQL Server với ADOMD.NET, với bài viết này, Phong sẽ giúp các bạn cách thức truy vấn dữ liệu từ Cubes với AdomdCommand và AdomdDataReader.

Trước tiên, các bạn cần nắm cú pháp truy vấn của MDX, về MDX thì các bạn có thể hiểu đơn giản rằng đây là một câu truy vấn Analysis Services, tương tự như SQL truy vân trên Database Engine, có thể tham khảo thêm tại:

Về căn bản thì cú pháp MDX cũng không khác nhiều so với cú pháp SQL nhiều, các bạn nên tiến hành viết câu truy vấn MDX trên SQL Server Management Studiodưới đây là một ví dụ cơ bản về câu truy vấn với MDX.

image

image

Các bạn có thể hiểu cơ bản câu truy vấn trên là lấy ra giá trị “Total Sales Amount” theo “Product by Category” và “Calendar Year” từ Cube “AdventureWorks”; về chi tiết thì sẽ có một bài chuyên sâu hơn về MDX.

Sau khi xác định được chính xác câu truy vấn dữ liệu cần có từ SSAS, các bạn tiến hành sử dụng ADOMD.NET để tạo kết nối đến với SSAS và truy vấn gọi dữ liệu.

Khi thực hiện kết nối thành công, các bạn tiến hành việc khai báo AdomdCommand để lấy dữ liệu từ câu truy vấn

image

Các bạn sử dụng chế độ Debug để kiểm tra giá trị trả về từ đoạn code trên, kết quả như sau:

image

image

Các bạn có thể kiểm chứng tính bằng cách đối chiếu giá trị trong cửa sổ Watch với giá trị mà các bạn thực hiện câu truy vấn MDX tại SSMS ở trên.

Thao tác cơ bản với ADOMD.NET trong việc kết nối và truy xuất Metadata từ SSAS


Như trong bài viết trước, Phong có chia sẻ với các bạn về một số vấn đề cần chú ý trong việc tự phát triển ứng dụng retreive dữ liệu từ SSAS, các bạn sẽ sử dụng bộ thư viện Microsoft.AnalysisServices.adomdClient.dll (có thể tải về trong bộ Feature Pack của SQL Server 2008 từ website của Microsoft http://www.microsoft.com/downloads/en/details.aspx?FamilyID=228DE03F-3B5A-428A-923F-58A033D316E1)

Mô phỏng hiện tại các bạn có Analysis Database: Adventure Works DW 2008R2 như sau:

image

Sau khi cài đặt bộ thư viện ADOMD.NET thì các bạn có thể reference thư viện vào project của mình.

image

Kết nối đến Analysis Database và lấy một số thông tin cơ bản của kết nối

image

Kết quả:

image

Lấy Metadata đặc tả Cube và Cube Perspective của Analysis Database

image

Kết quả:

image

Tuy nhiên các bạn chú ý, hiện tại nếu mặc định các bạn sử dụng .Net Framework để phát triển thì sẽ gặp lỗi như sau (tuy nhiên lỗi này không xuất hiện nếu các bạn sử dụng các phiên bản .Net Framework 2.0, 3.x)

image

Nguyên nhân của việc này là do Visual Studio 2010 mặc định sử dụng .Net 4.0 Client Profile khi compile Console Application, do đó các bạn chỉ cần thực hiện việc thay đổi Target Framework sang .Net 4.0

image

Các bạn có thể download mã nguồn tham khảo tại http://www.mediafire.com/?5xmtozf50r802

Phát triển ứng dụng với Analysis Services Data Access Interfaces (Multidimensional Data)


Sáng nay cà phê với anh Toàn bên cty CSC về một số nền  tảng công nghệ mới cũng như những bất cập với nền CNTT hiện nay tại Việt Nam; ngoài ra, cũng có trao đổi một số vấn đề kỹ thuật mà cụ thể mình thấy rất cần cho các anh em có  nhu cầu phát triển ứng dụng tích hợp với dịch vụ SSAS trong SQL Server.

Về nguyên lí chung thì việc xử lí và truyền dữ liệu của dịch vụ SSAS trong SQL Server với hệ thống các ứng dụng Client để consume thông tin được thực thi thông qua giao thức SOAP với định dạng truyền nhận chung là XMLA dựa trên ngôn ngữ truy  vấn xử lí MDX, DMX

Việc phát triển ứng dụng tương tác với 01 instance SSAS đã được deploy tại SQL Server thì phạm vi gồm 03 vấn đề như sau:

Xử lí Schema Rowsets: Schema Rowsets là cách duy nhất mà ứng dụng Client có thể tương tác với kiến trúc của Analysis Instance – hệ thống Metadata đặc tả Analysis Instance

Xử lí Data và Metadata: Mục đích của việc này là truy vấn Data và Metadata thể hiện dưới định dạng dòng cột hoặc Multidimensional từ hệ thống các Cube và Models.

Sử dụng Analysis Services Objects bao gồm hệ thống cơ sở dữ liệu, hệ thống các Cube, Mining Models, Dimensions, với ngôn ngữ truy vấn MDX, DMX và XMLA.

Việc hiện thực các vấn đề mô tả như  trên được hỗ trợ thông qua bộ thư viện Microsoft .Net Framework với ADOMD.NET, ASSL, Schema Rowsets, Analysis Services OLE DB Provider, …

Mình đang có ý định họp một số anh em có ý định muốn chuyên sâu hơn trong mảng này vào một buổi cuối tuần để hiện thực 01 cái demo cơ bản về việc này, anh em nào có hứng thú thì để lại comment để discuss cùng nhau luôn nhé Smile

Categories: SQL Server Tags:

BI Session of IT Empower Day Workshop


Vào ngày 29/04/2011, nhằm giúp cộng đồng IT có được tầm nhìn bao quát về cơ hội phát triển nghề nghiệp với nền tảng công nghệ Microsoft.

Nội dung chính của hội thảo tập trung giúp anh em IT có thể định hình được tương lai nghề nghiệp của mình với chứng chỉ Microsoft; đồng thời thông qua hội thảo, cũng đã cập nhật với anh em 02 nền tảng mới của Microsoft là Biztalk Server 2010 và Business Intelligence. Bài trình bày Biztalk Server 2010 do anh Phạm Anh Vũ, chuyên gia kỹ thuật của Microsoft Việt Nam trình bày; còn bài Business Intelligence thì do mình trình bày với lời mời từ Microsoft.

Các anh em có thể download bài presentation để tham khảo thêm về nội dung http://www.mediafire.com/?7cfmezereaxv7oq

Categories: Chủ đề khác

Thế nào là một giải pháp BI?


Trong thời gian gần đây, trong cộng đồng anh em chuyên làm giải pháp kinh doanh cho doanh nghiệp vẫn thường nhắc nhau về thuật ngữ BI – được viết tắt từ Business Intelligence; đây là một nền tảng công nghệ mới? một giải pháp công cụ mới? hay thế nào?

Thật ra thì BI là một thuật ngữ đã được biết đến từ rất lâu rồi, tuy nhiên chỉ mới được truyền đến Việt Nam trong thời gian gần đây; các hãng lớn đã có các giải pháp toàn diện về BI như Oracle, IBM, SAP, … và trong thời gian gần đây, Microsoft cũng đã tham gia vào thị trường của giải pháp BI.

Trước tiên, mình sẽ đi qua nhu cầu của giải pháp BI trong bối cảnh hiện nay; vì sao chúng ta cần BI, BI quan trọng như thế nào đối với hoạt động kinh doanh của các tổ chức doanh nghiệp.

Với giai đoạn hiện nay, các tổ chức doanh nghiệp tại Việt Nam đang trong giai đoạn chuẩn hóa hệ thống thông tin của tổ chức, gồm có nhiều vấn đề dưới nhiều góc độ khác nhau trong hệ thống quản trị tổ chức; cụ thể là thị trường ERP đang trên đà phát triển mạnh; cũng như nhu cầu triển khai nhiều ứng dụng kinh doanh nội bộ của doanh nghiệp. Tuy nhiên, hầu hết doanh nghiệp sẽ rơi vào tình trạng bùng nổ dữ liệu, hệ thống dữ liệu của tổ chức bị manh múng, phân tán và không quản lí được; mặc dù sự tăng trưởng, trưởng thành của một tổ chức hay còn gọi là tri thức của doanh nghiệp được tích lũy, thể hiện rõ ràng trên hệ thống dữ liệu hoạt động của doanh nghiệp trong quá khứ. Và BI là giải pháp toàn diện giúp tổ chức doanh nghiệp chuẩn hóa hệ thống cơ sở dữ liệu quan hệ ở tầng ứng dụng trên nhiều nền tảng khác nhau, tích hợp dữ liệu vào DataWarehouse, phân tích và tích hợp tri thức nghiệp vụ để khai thác thông tin kinh doanh, thể hiện trên hệ thống báo cáo đa tương tác; nhằm giúp đội ngũ nhân viên kinh doanh, ban giám đốc có thể ra quyết định và triển khai các giải pháp kinh doanh kịp thời trong môi trường kinh doanh đầy cạnh tranh ngày nay.

database_and_business_intelligence

Tất cả giải pháp BI bất kể hãng nào đều phải tuân theo nguyên lí tổng quan gồm có 5 tầng chính, để đưa đến mục đích cuối cùng là ra quyết định; tùy thuộc vào hiện trạng của doanh nghiệp mà giải pháp sẽ được tùy biến sao cho phù hợp để đáp ứng được yêu cầu. 05 tầng chính của một giải pháp BI gồm:

  1. Data Source – Hệ thống cơ sở dữ liệu nguồn, hầu hết là cơ sở dữ liệu quan hệ vận hành chung với hệ thống ứng dụng kinh doanh như HRM, CRM, Point of Sales
  2. Data Warehouses – hệ thống kho dữ liệu của doanh nghiệp; được triển khai nhằm lưu trữ hệ thống dữ liệu xuyên suốt cơ cấu tổ chức của doanh nghiệp; được cấu thành từ nhiều Data Marts, và mỗi Data Marts được xác định bởi một hoặc nhiều Dimension Table và 01 Fact Table. Hệ thống dữ liệu tại Data Warehouse là dữ liệu chỉ đọc đối với người dùng, việc cập nhật dữ liệu chỉ được thực hiện duy nhất thông qua các gói ETL (Extract, Transform, Load) thực thi chuyển đổi dữ liệu từ Data Sources vào Data Warehouses.
  3. Data Exploration – ở mức này, hệ thống nghiệp vụ của doanh nghiệp được triển khai, tri thức doanh nghiệp được khai thác thông qua việc phát triển các Cube, được cấu thành từ các Dimensions, Measures, Perspectives, Partitions, Calculations, …
  4. Data Mining – mục tiêu của mức này hướng đến việc khai thác các qui luật kinh doanh đặc trưng của doanh nghiệp để giúp doanh nghiệp xây dựng được hệ thống các quyết định cụ thể, giúp doanh nghiệp có hướng đi đúng đắn và phù hợp.
  5. Data Presentation – ở giai đoạn này, hệ thống dữ liệu của doanh nghiệp đã được xử lí thông qua tầng Data Exploration và Mining; trực quan hóa thông qua hệ thống biểu đồ và đặc tả thông qua các Metadata để chuyển đổi thành thông tin có ích để giúp người dùng ra các quyết định kinh doanh.

Xét trên góc độ kỹ thuật thì 05 tầng xử lí được mô tả như trên tương ứng với hệ thống tính năng cơ bản trong bộ 03 sản phẩm của Microsoft: SQL Server 2008 R2, SharePoint 2010 và Office 2010:

Data Sources Database Engine trong SQL Server 2005/2008/R2
Data Warehouses/Data Marts Database Engine, Master Data Services, Integrating Services trong SQL Server 2008 R2
Data Exploration Analysis Services trong SQL Server 2008/R2
Data Mining Analysis Services trong SQL Server 2008/R2
Data Presentation SharePoint 2007/2010
Office 2007/2010
Reporting Services trong SQL Server 2005/2008/R2

image