Crossjoin (MDX)

 语法

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

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

Set_Expression1

返回集的有效多维表达式 (MDX)。

Set_Expression2

返回集的有效多维表达式 (MDX)。

Crossjoin 函数返回两个或更多指定集的叉积。所得集中元组的顺序取决于要联接的集的顺序以及其成员的顺序。例如,如果第一个集由 {x1, x2,...,xn} 组成,第二个集由 {y1, y2, ..., yn} 组成,则这两个集的叉积为:

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

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

ms144816.note(zh-cn,SQL.90).gif重要提示:
如果交叉联接中的集由同一维度中不同属性层次结构中的元组组成,此函数将只返回实际存在的那些元组。有关详细信息,请参阅 MDX 中的重要概念 (MDX)

示例

以下三个示例返回相同的结果 - United States 各州的 Internet Sales Amount(按州显示)。前两个示例使用两个交叉联结语法,第三个示例演示了使用 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])

你可能感兴趣的:(Crossjoin (MDX))