Çapraz Birleştirme (MDX)

Bir veya daha fazla kümenin çapraz çarpımını döndürür.

Syntax

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

Arguments

Set_Expression1
Bir küme döndüren geçerli bir Çok Boyutlu İfadeler (MDX) ifadesi.

Set_Expression2
Bir küme döndüren geçerli bir Çok Boyutlu İfadeler (MDX) ifadesi.

Remarks

Çapraz birleştirme fonksiyonu, iki veya daha fazla belirlenmiş kümenin çapraz çarpımını döndürür. Ortaya çıkan kümedeki tuple sırası, birleştirilecek kümelerin sırasına ve üyelerinin sırasına bağlıdır. Örneğin, birinci küme {x1, x2,...,xn} ve ikinci küme {y1, y2, ..., yn}'den oluştuğunda, bu kümelerin çapraz çarpımı şöyledir:

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

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

Important

Çapraz birleşimdeki kümeler aynı boyuttaki farklı öznitelik hiyerarşilerinden gelen tuple'lardan oluşuyorsa, bu fonksiyon yalnızca gerçekten var olan tuple'ları geri getirir. Daha fazla bilgi için MDX'te Temel Kavramlar (Analiz Hizmetleri) bölümüne bakınız.

Examples

Aşağıdaki sorgu, bir sorgunun Sütunlar ve Satırlar ekseninde Çapraz Birleştirme fonksiyonunun kullanımına dair basit örnekleri sunmaktadır:

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]  

Aşağıdaki örnek, aynı boyuttan farklı hiyerarşiler çapraz birleştirildiğinde gerçekleşen otomatik filtrelemeyi göstermektedir:

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]  

Aşağıdaki üç örnek aynı sonuçları verir - Birleşik Devletler içindeki eyaletler için eyaletler bazında İnternet Satış Miktarı. İlk ikisi iki çapraz birleştirme sözdizimi kullanırken, üçüncüsü aynı bilgiyi geri vermek için WHERE cümlesinin kullanıldığını gösterir.

Örnek 1

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

Örnek 2

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

Örnek 3

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