MDXのTuple
とset
の違いは何ですか。両方を区別する方法と、それらを使用するタイミング。
タプルは、すべてのディメンションから取得された単一の階層メンバーです。 Time.[2nd half]
は時間次元のタプルです。同様に、複数のタプルを持つことができ、それらを '('、 ')'括弧で表します。例えば:
(Time.[2nd half], Color.Dark.Red).
これは、ノードの数学的共通部分に他なりません。上記の式が機能するのと同じ方法で、数学のノードを(2,1)として表すことができます。
今セットに来るのはタプルの構成に他なりません。セットには1つ以上のタプルが含まれており、ゼロにすることもできます。それらを{、}中括弧で表します。例えば:
{ (Time.[1st half], Color.Dark.Red), (Time.[2nd half], Color.Dark.Blue) }
より数学的な観点からMDXに来たので、これは私の質問に対する見解です。
寸法がX、Y、Zの3Dキューブがあるとします。キューブ内のセルの数は、Xのメンバーの数にYのメンバーの数を掛けたものにZのメンバーの数を掛けたものです。
X、Y、Zの値に基づいた立方体の座標を持つ各セル。その座標はタプルです。
だから言うことができます:
その場合、単一のセルが1999年のラップトップの売上になります。セルの座標は次のようになります。論理的に(X, Y, Z)
そして物理的にこれは次のようなタプルです
(Measures.Sales, Years.[1999], Products.[Laptop])
複数のセルが必要だとしましょうでは、複数のタプルが必要ですよね?はい、セットは基本的に複数のタプルです。実際には倍数で0と1を含めます。したがって、例を拡張すると、1999年のラップトップと2001年のデスクトップがあります。
{
(Measures.Sales, Years.[1999], Products.[Laptop]) ,
(Measures.Sales, Years.[2001], Products.[Desktop])
}
つまり、セットで複数のアイテムが作成され、タプルで1つのアイテムが作成されることがわかります......
この記事 用語について説明しますメンバー、タプルとSetの詳細。
簡単に説明しようと思います。
簡単に言えば、Tupleは、ディメンション内のデータのアトミックスライスであり、setはタプルのコレクションです。たとえば、タプル_Sherlock Holmes
_、_Tom Sawyer
_、_CLR via C#
_、_Code Complete
_、および_Quantum Physics for Dummies
_を持つBooks
ディメンションを持つことができます。
その後、これらのタプルをProgramming
、Fiction
、_Natural Sciences
_などの名前付きセットに編成できます。
_[Books].&[Sherlock Holmes] -- Tuple
[Books].&[CLR via C#] -- Tuple
{ [Books].&[CLR via C#], [Books].&[Code Complete] } -- Set
_
MDXには、セットまたはタプルを返す特定の functions があり、タプルをセットに、またはその逆に変換する方法を知っておくと役立つことがよくあります。たとえば、Item(...)
関数は、セットから特定のタプルを取得します。複数のタプルを_{ , , }
_で囲むと、これらのタプルを含むセットが作成されます。
私が説明した例はかなり部分的であり、理論全体を網羅しているわけではありませんが、これらの概念がどのように機能するかについての基本的な理解が得られるかもしれません。
ここに別の良い説明があります: http://www.onlineexpert.com/elearning/user/pdf/APPLICATIONDEVELOPMENT/SQL2KOLAP/Ch08.pdf 。
PreetSanghaの答えに似ています。