Разница между кортежем и набором в mdx
в чем разница между tuple
и set
в MDX. Как мы можем различать и то, и другое, и когда мы их используем.
4 ответов
Кортеж-это один элемент иерархии, взятый из всех измерений.
Предположим Time.[2nd half]
- кортеж измерения времени. Таким же образом мы можем иметь несколько кортежей, и мы представляем их в скобках' (',')'.
Например:
(Time.[2nd half], Color.Dark.Red).
Это не что иное, как математическое пересечение узлов. мы можем представить узлы в математике как (2,1) таким же образом, как будет работать выражение выше.
сейчас устанавливает его ничего, кроме состава кортежей. набор содержит один или более кортежи, возможно, ноль. мы представляем их в скобках {,}. Например:
{ (Time.[1st half], Color.Dark.Red), (Time.[2nd half], Color.Dark.Blue) }
придя к MDX с более математической точки зрения, это мой взгляд на вопрос:
представьте, что у вас есть 3d-куб с размерами X, Y и Z. число ячеек в кубе - это число членов в X, умноженное на число членов Y, умноженное на число членов Z.
каждая ячейка имеет координату в кубе на основе значения из X, Y и Z. эта координата является кортежем.
так скажем :
- X - это меры,
- г лет,
- Z это продукты,
тогда одной ячейкой может быть продажа ноутбуков за 1999 год. Координата ячейки будет:
логически (X, Y, Z)
и физически это кортеж, таких как
(Measures.Sales, Years.[1999], Products.[Laptop])
теперь давайте скажем, что мы хотим несколько ячеек, тогда нам нужно несколько кортежей, верно? Да,набор в основном несколько кортежи!--7-->. На самом деле по множеству я включаю 0 и 1. Таким образом, расширяя наш пример, мы могли бы иметь ноутбуки с 1999 года и настольные компьютеры с 2001 года:
{
(Measures.Sales, Years.[1999], Products.[Laptop]) ,
(Measures.Sales, Years.[2001], Products.[Desktop])
}
Итак, вы видите, что вы в конечном итоге с несколькими элементами с набором, и один элемент с кортежем......
в этой статье описывает термины , кортежа!--16--> и Set в подробности.
я постараюсь объяснить это простым способом.
проще говоря, a кортежа!--16--> является атомарным срезом данных в измерении и set - это набор кортежей. Например, вы можете иметь Books
измерения с кортежами Sherlock Holmes
, Tom Sawyer
, CLR via C#
, Code Complete
и Quantum Physics for Dummies
.
После этого, вы можете организовать эти кортежи в именованные наборы, например Programming
, Fiction
и Natural Sciences
.
[Books].&[Sherlock Holmes] -- Tuple
[Books].&[CLR via C#] -- Tuple
{ [Books].&[CLR via C#], [Books].&[Code Complete] } -- Set
есть определенные функции в MDX, которые возвращают наборы или кортежи, и часто полезно знать, как преобразовать Кортеж в набор и наоборот. Например,Item(...)
функция принимает определенный кортеж из набора. Заключая несколько кортежей в { , , }
создать набор с этими кортежами.
пример, который я описал, довольно частичный и не покрыть всю теорию, но это может дать вам хорошее базовое понимание того, как эти понятия работают.
вот еще одно хорошее объяснение от: http://www.onlineexpert.com/elearning/user/pdf/APPLICATIONDEVELOPMENT/SQL2KOLAP/Ch08.pdf.
Это похоже на ответ Прит Сангхи.