2012-03-01 11 views
9

Jaka jest różnica między tuple i set w MDX. Jak możemy rozróżnić zarówno te, jak i kiedy ich używamy.Różnica między krotką a ustawieniem w mdx

+2

MSDN: [Członkowie, krotki i zestawy] (http://msdn.microsoft.com/en-us/library/aa216769 (v = sql.80) .aspx) –

+0

@Guts .. możesz mi wyjaśnić w prosty sposób ..? – Searcher

Odpowiedz

10

Krotka to pojedynczy element hierarchii pobrany ze wszystkich wymiarów. Załóżmy, że Time.[2nd half] jest krotką wymiaru czasu. W ten sam sposób możemy mieć wiele krotek i reprezentujemy je w nawiasach "(", "). Np

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

To nic innego matematycznego przecięcia węzłów. możemy reprezentować węzły w matematyce jako (2,1) w ten sam sposób, jak będzie działało powyższe wyrażenie.

Teraz przychodzi do zestawów, to tylko kompozycja krotek. zestaw zawiera jedną lub więcej krotek, które może również wyzerować. reprezentujemy je w {,} nawiasach klamrowych. Np

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

Co za logika, i * To mylące dla mnie. – Aditya

5

This article opisuje warunkami Członek, krotka i Ustaw w szczegółach.

Postaram się wyjaśnić to w łatwy sposób.

Mówiąc najprościej, krotka jest plaster atomowy danych w wymiarze i ustawić jest zbiorem krotek. Na przykład można mieć Books wymiar z krotek Sherlock Holmes, Tom Sawyer, CLR via C#, Code Complete i Quantum Physics for Dummies.
Po tym możesz uporządkować te krotki w nazwane zestawy, takie jak Programming, Fiction i Natural Sciences.

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

Istnieją pewne functions w MDX, które zwracają zestawów lub krotki, i to często, by wiedzieć, jak konwertować krotki do zestawu i vice versa. Na przykład funkcja Item(...) pobiera określoną krotkę z zestawu. Zamknięcie wielu krotek w { , , } utworzy zestaw z tymi krotkami.

Opisany przeze mnie przykład jest dość częściowy i nie obejmuje całej teorii, ale może dać dobre ogólne zrozumienie działania tych koncepcji.

+0

mówiąc, że "[Książki]. & [Sherlock Holmes]' jest krotką jest nieco myląca, ponieważ ignoruje fakt, że wszystkie pozostałe wymiary wymagają współrzędnych w tym samym czasie. Dodatkowo użycie '()' jest ważne w 'MDX' przy tłumaczeniu krotek. – whytheq

11

Doszedłszy do MDX z bardziej matematyki perspektywy jest to moje zdanie w tej kwestii:

Wyobraźcie masz 3d kostka o wymiarach X, Y i Z. Liczba komórek w kostce jest liczba elementy w X pomnożone przez liczbę członków Y pomnożoną przez liczbę członków Z.

Każda komórka ma współrzędne w sześcianie na podstawie wartości od X, Y i Z. Współrzędna ta jest krotką.

Więc powiedzmy:

  • X jest Środki,
  • Y oznacza Lata,
  • Z oznacza Produkty,

Wtedy pojedyncza komórka może być sprzedaż laptopów za rok 1999. Współrzędna komórki będzie wynosić: logicznie (X, Y, Z) i fizycznie jest to krotka, takich jak

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

Teraz powiedzmy, że chcemy wiele komórek, to musimy wiele krotki, prawda? Tak, Zestaw to w zasadzie wiele krotek. Właściwie przez wielokrotne I to 0 i 1. Rozszerzanie Więc naszym przykładzie możemy mieć laptopy i desktopy od 1999 od 2001:

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

Więc widać, że możesz skończyć z wielu elementów z zestawu, a pojedynczy pozycja z krotka ......

Powiązane problemy