2012-03-01 57 views
9

MDX中的tupleset有什麼區別?我們如何區分兩者以及何時使用它們。元組與mdx中的集合之間的區別

+2

MSDN:[Members,Tuples,and Sets](http://msdn.microsoft.com/en-us/library/aa216769(v = sql.80).aspx) – 2012-03-01 14:04:19

+0

@Guts ..你能解釋我嗎以一種簡單的方式..? – Searcher 2012-03-01 14:21:27

回答

10

元組是從所有維度取得的單個層次結構成員。 假設Time.[2nd half]是時間維度的元組。同樣我們可以有多個元組,我們用'(',')'括號來表示它們。 例如:

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

這只不過是數學節點的交集。我們可以用(2,1)表示數學中的節點,就像表達式的工作方式一樣。

現在來設置它只是元組的組成。集合包含一個或多個元組也可以爲零。我們用{,}括號表示它們。 如:

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

什麼是背後的邏輯,&*它令我困惑。 – Aditya 2014-05-14 12:59:39

5

This article介紹會員元組設置詳細條款。

我會試着用簡單的方法來解釋它。

簡單地說,元組是一維的數據的原子片和設置是元組的集合。例如,您可以使用元組Sherlock Holmes,Tom Sawyer,CLR via C#,Code CompleteQuantum Physics for Dummies組成一個Books維度。
之後,您可以將這些元組組織爲指定集,如Programming,FictionNatural Sciences

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

有MDX中返回集合或元組某些functions,並且它往往有助於瞭解如何將一個元組轉換爲一組,反之亦然。例如,Item(...)函數從集合中獲取特定的元組。在{ , , }中包含多個元組將使用這些元組創建一個集合。

我描述的例子很有侷限性,並沒有涵蓋整個理論,但它可能會讓你對這些概念的工作原理有一個很好的基本理解。

+0

說'[書]和[福爾摩斯]是一個元組有點誤導,因爲它忽略了所有其他維度同時需要座標的事實。在解釋元組時,'()'在'MDX'中的使用是很重要的。 – whytheq 2014-03-22 11:57:43

11

已經從更多的數學的角度來MDX這是我對這個問題:

想象一下,你有3D立方體,其尺寸X,Y和Z細胞的立方數是數X中的成員乘以Y的成員數量乘以Z的成員數量。

每個單元格在立方體中都有一個基於X,Y和Z的值的座標。該座標是一個元組

因此,可以說:

  • X是措施
  • Y是
  • Z是產品

然後單個細胞可能是1999年的筆記本電腦銷售。單元格座標將爲: 邏輯(X, Y, Z)和物理這是

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

現在讓我們說,我們要多細胞,那麼我們就需要多個元組,對這樣一個元組?是的,一套基本上是多元組。其實通過多個I包括0和1。所以,擴大我們的例子中,我們可以有從1999年的筆記本電腦和臺式機的2001:

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

所以你可以看到,你最終有多個項目與一組,和單帶元組的項目......