Sự khác biệt giữa tuple
và set
trong MDX là gì. Cách chúng ta có thể phân biệt cả hai và khi nào chúng ta sử dụng chúng.Sự khác biệt giữa tuple và được đặt trong mdx
Trả lời
Tuple là một thành viên phân cấp đơn được lấy từ tất cả các thứ nguyên. Giả sử Time.[2nd half]
là một bộ tham số thời gian. Tương tự, chúng tôi có thể có nhiều bộ dữ liệu và chúng tôi đại diện cho chúng trong dấu ngoặc vuông '(', ')'. Ví dụ:
(Time.[2nd half], Color.Dark.Red).
Đây không phải là điểm giao cắt toán học của các nút. chúng ta có thể biểu diễn các nút trong toán học là (2,1) theo cách tương tự trên biểu thức sẽ hoạt động.
Bây giờ sắp tới để đặt nó là gì, nhưng thành phần của bộ dữ liệu. tập hợp chứa một hoặc nhiều bộ dữ liệu nó cũng có thể không. chúng tôi đại diện cho họ trong {,} niềng răng. Ví dụ:
{ (Time.[1st half], Color.Dark.Red), (Time.[2nd half], Color.Dark.Blue) }
Làm thế nào logic đằng sau, & * Nó gây nhầm lẫn cho tôi. – Aditya
This article mô tả các điều khoản Member, tuple và Đặt chi tiết.
Tôi sẽ cố gắng giải thích nó một cách dễ dàng.
Đơn giản chỉ cần đặt, tuple là một lát nguyên tử của dữ liệu trong một thứ nguyên và đặt là tập hợp các bộ dữ liệu. Ví dụ: bạn có thể có thứ nguyên Books
với bộ dữ liệu Sherlock Holmes
, Tom Sawyer
, CLR via C#
, Code Complete
và Quantum Physics for Dummies
.
Sau đó, bạn có thể sắp xếp các bộ dữ liệu này thành các bộ có tên, như Programming
, Fiction
và Natural Sciences
.
[Books].&[Sherlock Holmes] -- Tuple
[Books].&[CLR via C#] -- Tuple
{ [Books].&[CLR via C#], [Books].&[Code Complete] } -- Set
Có một số functions trong MDX trả lại bộ hoặc các bộ, và nó rất hữu ích để biết làm thế nào để chuyển đổi một tuple đến một tập và ngược lại. Ví dụ, hàm Item(...)
lấy một tuple cụ thể từ một tập hợp. Việc bao gồm nhiều bộ dữ liệu trong { , , }
sẽ tạo một bộ với các bộ dữ liệu này.
Ví dụ tôi mô tả là khá một phần và không bao gồm toàn bộ lý thuyết, nhưng nó có thể cung cấp cho bạn một sự hiểu biết cơ bản về cách các khái niệm này hoạt động.
nói rằng '[Sách]. & [Sherlock Holmes]' là một bộ dữ liệu hơi gây nhầm lẫn vì nó bỏ qua thực tế rằng tất cả các thứ nguyên khác đều yêu cầu tọa độ cùng một lúc. Cộng với việc sử dụng '()' là quan trọng trong 'MDX' khi giải thích tuple. – whytheq
Đã đến MDX từ góc độ toán học hơn đây là quan điểm của tôi về vấn đề:
Hãy tưởng tượng bạn có Cube 3d với kích thước X, Y và Z. Số lượng tế bào trong khối là số các thành viên trong X nhân với số lượng thành viên của Y nhân với số lượng thành viên của Z.
Mỗi ô có tọa độ trong khối dựa trên giá trị từ X, Y và Z. Tọa độ đó là một Tuple.
Vì vậy, cho phép nói:
- X là biện pháp,
- Y là Năm,
- Z là Sản phẩm,
Sau đó, một tế bào đơn có thể là doanh số máy tính xách tay cho năm 1999. Phối hợp di động sẽ là:.210 logic (X, Y, Z)
và thể chất đây là một tuple như
(Measures.Sales, Years.[1999], Products.[Laptop])
Bây giờ cho phép nói rằng chúng ta muốn nhiều ô, sau đó chúng ta cần nhiều bộ dữ liệu, phải không? Có, Tập hợp cơ bản là nhiều bộ dữ liệu. Trên thực tế bởi nhiều tôi bao gồm 0 và 1. Vì vậy, mở rộng ví dụ của chúng tôi, chúng tôi có thể có máy tính xách tay từ năm 1999 và máy tính để bàn từ năm 2001:
{
(Measures.Sales, Years.[1999], Products.[Laptop]) ,
(Measures.Sales, Years.[2001], Products.[Desktop])
}
Vì vậy, bạn có thể thấy rằng bạn kết thúc với nhiều mục với một bộ, và một đơn mục với một bộ đồ ......
Đây là một giải thích tốt khác từ: http://www.onlineexpert.com/elearning/user/pdf/APPLICATIONDEVELOPMENT/SQL2KOLAP/Ch08.pdf.
Giống như câu trả lời của Preet Sangha.
MSDN: [Thành viên, bộ và bộ] (http://msdn.microsoft.com/en-us/library/aa216769 (v = sql.80) .aspx) –
@Guts .. bạn có thể giải thích cho tôi không một cách đơn giản ..? – Searcher