2012-03-01 22 views
9

Cuál es la diferencia entre tuple y set en MDX. Cómo podemos distinguir ambos y cuándo los estamos usando.Diferencia entre tupla y establecer en mdx

+2

MSDN: [Miembros, Tuplas y Conjuntos] (http://msdn.microsoft.com/en-us/library/aa216769 (v = sql.80) .aspx) –

+0

@Guts .. me puede explicar de una manera simple ..? – Searcher

Respuesta

10

Una tupla es un único miembro de jerarquía tomado de todas las dimensiones. Supongamos que Time.[2nd half] es una tupla de dimensión de tiempo. De la misma manera, podemos tener múltiples tuplas y las representamos en corchetes '(', ')'. Ej:

(Time.[2nd half], Color.Dark.Red). 

Esto no es sino la intersección matemática de nodos. podemos representar los nodos en matemáticas como (2,1) de la misma manera que la expresión anterior funcionará.

Ahora viene a conjuntos no es más que la composición de tuplas. set contiene una o más tuplas, también puede cero. los representamos en {,} llaves. Ej:

{ (Time.[1st half], Color.Dark.Red), (Time.[2nd half], Color.Dark.Blue) } 
+0

¿Cuál es la lógica detrás, & * Es confuso para mí. – Aditya

5

This article describe los términos miembro, Tupla y Establecer en los detalles.

Trataré de explicarlo de una manera fácil.

En pocas palabras, una tupla es una rebanada atómica de datos en una dimensión y una conjunto es una colección de tuplas. Por ejemplo, puede tener una dimensión Books con las tuplas Sherlock Holmes, Tom Sawyer, CLR via C#, y Quantum Physics for Dummies.
Después de eso, puede organizar estas tuplas en conjuntos con nombre, como Programming, Fiction y Natural Sciences.

[Books].&[Sherlock Holmes]       -- Tuple 
[Books].&[CLR via C#]        -- Tuple 
{ [Books].&[CLR via C#], [Books].&[Code Complete] } -- Set 

hay ciertas functions en MDX que devuelven conjuntos o tuplas, y es a menudo útil saber cómo convertir una tupla a un conjunto y viceversa. Por ejemplo, la función Item(...) toma una tupla específica de un conjunto. El encerrar múltiples tuplas en { , , } creará un conjunto con estas tuplas.

El ejemplo que describí es bastante parcial y no cubre toda la teoría, pero podría proporcionarle una buena comprensión básica de cómo funcionan estos conceptos.

+0

diciendo que '[Books]. & [Sherlock Holmes]' es una tupla es un poco engañoso ya que ignora el hecho de que todas las otras dimensiones requieren una coordenada al mismo tiempo. Además, el uso de '()' es importante en 'MDX' al explicar las tuplas. – whytheq

11

Habiendo llegado a MDX desde una perspectiva más matemáticas esta es mi opinión sobre la cuestión:

Imagine que tiene Cubo 3D con dimensiones X, Y y Z. El número de células en el cubo es el número de miembros en X multiplicados por el número de miembros de Y multiplicado por el número de miembros de Z.

Cada celda tiene una coordenada en el cubo basada en un valor de X, Y y Z. Esa coordenada es una Tupla.

lo que permite decir:

  • X es Medidas,
  • Y es años,
  • Z es productos,

A continuación, una sola célula podría ser las ventas de laptops para 1999. La coordenada de la celda será: lógicamente (X, Y, Z) y físicamente se trata de una tupla como

(Measures.Sales, Years.[1999], Products.[Laptop]) 

Ahora digamos que queremos múltiples células, entonces necesitamos múltiples tuplas, ¿verdad? Sí, un conjunto es básicamente múltiples tuplas. En realidad por múltiples incluyo 0 y 1. Así se extiende nuestro ejemplo, podríamos tener ordenadores portátiles y de escritorio desde 1999 a partir de 2001:

{ 
    (Measures.Sales, Years.[1999], Products.[Laptop]) , 
    (Measures.Sales, Years.[2001], Products.[Desktop]) 
} 

Así se puede ver que se termina con varios elementos, con un conjunto, y una sola artículo con una tupla ......