次の方法で共有


Crossjoin (MDX)

更新 : 2006 年 7 月 17 日

1 つ以上のセットのクロス積を返します。

構文

Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )

Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]

引数

  • Set_Expression1
    セットを返す有効な多次元式 (MDX) 式です。
  • Set_Expression2
    セットを返す有効な多次元式 (MDX) 式です。

解説

Crossjoin 関数は、2 つ以上の指定されたセットのクロス積を返します。結果セット内の組の順序は、クロス積を求める各セットの順序と各セット内のメンバの順序によって決まります。たとえば、最初のセットの構成が {x1, x2,...,xn}、2 番目のセットの構成が {y1, y2, ..., yn} である場合、2 つのセットのクロス積は次のようになります。

{(x1, y1), (x1, y2),...,(x1, yn), (x2, y1), (x2, y2),...,

(x2, yn),..., (xn, y1), (xn, y2),..., (xn, yn)}

ms144816.note(ja-jp,SQL.90).gif重要 :
クロス結合内のセットが同一ディメンションの異なる属性階層の組から構成されている場合、この関数は実際に存在する組のみを返します。詳細については、「MDX の主な概念 (MDX)」を参照してください。

次の 3 つの例はいずれも、米国内の州の州別 Internet Sales Amount を返します。最初の 2 例では 2 種類のクロス結合の構文を使用し、3 つ目の例では WHERE 句を使用して同じ結果を返しています。

例 1

SELECT CROSSJOIN
   (
      {[Customer].[Country].[United States]},
       [Customer].[State-Province].Members
   ) ON 0 
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]

例 2

SELECT 
   [Customer].[Country].[United States] * 
      [Customer].[State-Province].Members
ON 0 
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]

例 3

SELECT 
   [Customer].[State-Province].Members
ON 0 
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
   [Customer].[Country].[United States])

参照

関連項目

MDX 関数リファレンス (MDX)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • わかりやすくするために構文および引数を更新しました。
  • 更新した例を追加しました。