Разница между кортежем и набором в 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.

Это похоже на ответ Прит Сангхи.