Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Tổng quan về ngôn ngữ truy vấn Kho dữ liệu MDX

Bài cuối 03-26-2017 02:16 PM của taikhoan123. 3 trả lời.
Trang 1 trong số 1 (4 nội dung)
Sắp xếp bài viết: Trước Tiếp theo
  • 12-26-2011 10:40 AM

    Tổng quan về ngôn ngữ truy vấn Kho dữ liệu MDX

    TỔNG QUAN VỀ NGÔN NGỮ TRUY VẤN KHO DỮ LIỆU MDX
    (Multi Dimensional eXpressions - MDX)

    Ngôn ngữ MDX  là ngôn ngữ truy vấn cho cơ sở dữ liệu nhiều chiều, nó tương tự ngôn ngữ SQL cho cơ sở dữ liệu dạng quan hệ, tuy nhiên đây là ngôn ngữ tính toán vì thế nó tương tự có cú pháp giống công thức của bảng tính. MDX  do Microsoft giới thiệu vào năm 1997 cùng với SQL Server 7.0 nhanh chóng được các nhà phát triển chấp nhận và đã trở thành chuẩn cho hệ thống OLAP. Từ năm 2001 khi XMLA ra đời MDX được mở rộng và hổ trợ truy vấn với MDX (MDXML).

    Ngôn ngữ MDX hỗ trợ mạnh cho tính toán trên khối dữ liệu nhiều chiều, nó hỗ trợ việc truy cập dữ liệu một cách trực quan và dễ dàng. Người dùng có thể trích xuất dữ liệu từ cubes với số chiều bất kỳ. MDX có thể trả lời được các câu hỏi phức tạp trong kinh doanh ở thế giới thực như : “Trong các khu vực bán được nhiều sản phẩm nhất đâu là dòng sản phẩm bán chạy nhất ?”.

    MDX được xây dựng cho các hệ thống phân tích dữ liệu chính vì thế nó có thể xử lý được những truy vấn một cách dễ dàng. MDX có thể xử lý dữ liệu một cách mềm dẻo, kết quả trả về của MDX cũng rất linh hoạt. Các phép truy vấn phức tạp trong SQL như pivot được sử dụng một cách dễ dàng trong MDX.

    MDX không hỗ trợ các ngôn ngữ định nghĩa dữ liệu (DDL) tuy nhiên ngôn ngữ thao tác dữ liệu (DML) của MDX có hỗ trợ thực thi một số thao tác định nghĩa dữ liệu.

    Cấu trúc của MDX giống như SQL nhưng mở rộng hơn để thao tác với cơ sở dữ liệu nhiều chiều. Câu truy vấn MDX có cấu trúc như sau :

     

    Mệnh đề  SELECT dùng để xác định các chiều của tập hợp kết quả.

    Mệnh đề FROM xác định nguồn dữ liệu (cube) dùng để lấy dữ liệu

    Mệnh đề WHERE dùng để xác định chiều cắt dữ liệu , nhằm lọc dữ liệu đầu ra.

    Ví dụ :
     
    Câu lệnh trên thực hiện việc truy vấn lấy dữ liệu từ kho dữ liệu chủ đề Tổng hợp sản lượng khách hàng (SLKH) bao gồm : Lấy tổng số lượng hành khách, số lượng khách nước ngoài, số lượng khách nội địa ( xếp theo cột) của từng hãng hàng không (xếp theo hàng) trong năm 2011. Kết quả trả về như hình sau :
     

    Truy vấn MDX có thể chứa các thông tin như sau :

    •      Số lượng chiều (tối đa 128 chiều).
    •      Các thành viên của mỗi chiều cho từng chiều.
    •      Tên khối dữ liệu.
    •       Các thành viên từ một chiều dùng để cắt (lọc).

     

    Phát biểu SELECT của câu truy vấn MDX còn hỗ trợ các cú pháp tuỳ chọn khác, như là từ khóa WITH và việc sử dụng các hàm MDX để xây dựng các thành viên bằng việc tính toán để thêm vào 1 trục hoặc 1 chiều cắt.

    Cú pháp của câu truy vấn MDX tương tự như cú pháp SQL, tuy nhiên có 1 số khác biệt như sau :

    -          Cú pháp MDX phân biệt các tập hợp bằng việc dùng dấu ngoặc nhọn  { }  bao quanh các bộ hay thành viên.

    -          Câu truy vấn MDX có thể chứa tới 128 chiều, nhưng chỉ có 5 chiều đầu tiên là có alias (tên phụ). Một trục có thể được tham chiếu bởi thứ tự của nó trong câu MDX hay bởi tên phụ của nó nếu có.

    -          Trong câu truy vấn SQL, mệnh đề FROM có thể chỉ đến nhiều bảng dữ liệu. Tuy nhiên, mệnh  đề FROM trong câu truy vấn MDX bị giới hạn ở 1 khối duy nhất. Thông tin từ các khối khác có thể được tham khảo theo từng giá trị bằng cách dùng hàm LookupCube.

       -              Mệnh đề WHERE được dùng để mô tả chiều cắt dữ liệu. Nếu 1 chiều không  được đề cập trong mệnh đề WHERE, SQL Analysis Services vẫn xem nó là 1 chiều cẳt, nhưng được lọc theo số thành viên mặc định của nó. Mệnh đề WHERE có thể thay  đổi tiến trình lọc cho 1 chiều nào đó, giúp tinh chỉnh dữ liệu kết quả. 
     
    • Điểm chủ đề: 50
  • 01-02-2012 09:07 PM trả lời

    Re: Tổng quan về ngôn ngữ truy vấn Kho dữ liệu MDX

    thanks! ban co the di sau hon ve ngon ngu nay duoc ko :)
    • Điểm chủ đề: 35
  • 09-20-2012 09:27 AM trả lời

    Re: Tổng quan về ngôn ngữ truy vấn Kho dữ liệu MDX

    Bài viết rất hay, có thể liên hệ với anh để trao đổi với anh một số vấn đề về DW đươc không nhỉ, minh cũng là dân IT và đang làm về DW
    Email: pdhoashpcdms@gmail.com

    • Điểm chủ đề: 20
  • 03-26-2017 02:16 PM trả lời

    Re: Tổng quan về ngôn ngữ truy vấn Kho dữ liệu MDX

    bạn có thể giới thiệu cách dùng các câu truy vấn khác, hay các hàm khác có trong mdx ko
    • Điểm chủ đề: 20
Trang 1 trong số 1 (4 nội dung)
Powered by Community Server (Commercial Edition), by Telligent Systems