Crossjoin(MDX)Crossjoin (MDX)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

하나 이상의 집합에 대한 교차곱을 반환합니다.Returns the cross product of one or more sets.

구문Syntax


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

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

인수Arguments

Set_Expression1Set_Expression1
집합을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a set.

Set_Expression2Set_Expression2
집합을 반환하는 유효한 MDX 식입니다.A valid Multidimensional Expressions (MDX) expression that returns a set.

주의Remarks

Crossjoin 이상 지정 된 집합 또는 함수 2의 교차곱을 반환 합니다.The Crossjoin function returns the cross product of two or more specified sets. 결과 집합에서 튜플의 순서는 집합의 조인 순서 및 해당 멤버의 순서에 따라 달라집니다.The order of tuples in the resulting set depends on the order of the sets to be joined and the order of their members. 예를 들어 때 첫 번째 집합은 구성의 {x1, x2,..., xn}, 두 번째 집합은 구성 및 {y1, y2,..., yn}, 이러한 집합의 교차곱은:For example, when the first set consists of {x1, x2,...,xn}, and the second set consists of {y1, y2, ..., yn}, the cross product of these sets is:

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

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

중요

크로스 조인의 집합이 동일한 차원에 있는 다른 특성 계층의 튜플로 구성된 경우 이 함수는 실제로 존재하는 튜플만 반환합니다.If the sets in the cross join are composed of tuples from different attribute hierarchies in the same dimension, this function will return only those tuples that actually exist. 자세한 내용은 참조 MDX (의 주요 개념 Analysis Services ) .For more information, see Key Concepts in MDX (Analysis Services).

Examples

다음 쿼리에서는 쿼리의 Columns 및 Rows 축에서 Crossjoin 함수를 사용하는 간단한 예를 보여 줍니다.The following query shows simple examples of the use of the Crossjoin function on the Columns and Rows axis of a query:

SELECT

[Customer].[Country].Members *

[Customer].[State-Province].Members

ON 0,

Crossjoin(

[Date].[Calendar Year].Members,

[Product].[Category].[Category].Members)

ON 1

FROM [Adventure Works]

WHERE Measures.[Internet Sales Amount]

다음 예에서는 동일한 차원에서 서로 다른 계층을 크로스 조인할 때 발생하는 자동 필터링을 보여 줍니다.The following example shows the automatic filtering that takes place when different hierarchies from the same dimension are crossjoined:

SELECT

Measures.[Internet Sales Amount]

ON 0,

//Only the dates in Calendar Years 2003 and 2004 will be returned here

Crossjoin(

{[Date].[Calendar Year].&[2003], [Date].[Calendar Year].&[2004]},

[Date].[Date].[Date].Members)

ON 1

FROM [Adventure Works]

다음 세 개의 예에서는 동일한 결과, 즉 미국 내의 주에 대한 주별 인터넷 판매 금액(Internet Sales Amount)을 반환합니다.The following three examples return the same results - the Internet Sales Amount by state for states within the United States. 처음 두 개의 예에서는 두 개의 크로스 조인 구문을 사용하고, 세 번째 예에서는 WHERE 절을 사용하여 동일한 정보를 반환하는 방법을 보여 줍니다.The first two use the two cross join syntaxes and the third demonstrates the use of the WHERE clause to return the same information.

예제 1Example 1

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

예제 2Example 2

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

예 3Example 3

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

참고 항목See Also

MDX 함수 참조 ( Mdx)MDX Function Reference (MDX)