Crossjoin (MDX)

Mengembalikan hasil kali silang dari satu atau lebih himpunan.

Syntax

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

Arguments

Set_Expression1
Ekspresi Multidimensional Expressions (MDX) valid yang mengembalikan set.

Set_Expression2
Ekspresi Multidimensional Expressions (MDX) valid yang mengembalikan set.

Remarks

Fungsi Crossjoin mengembalikan hasil kali silang dari dua atau lebih himpunan yang ditentukan. Urutan tuple dalam himpunan yang dihasilkan bergantung pada urutan himpunan yang akan digabungkan dan urutan anggotanya. Sebagai contoh, ketika himpunan pertama terdiri dari {x1, x2,...,xn}, dan himpunan kedua terdiri dari {y1, y2, ..., yn}, hasil kali silang dari himpunan-himpunan tersebut adalah:

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

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

Important

Jika himpunan dalam cross join terdiri dari tuple dari hierarki atribut yang berbeda dalam dimensi yang sama, fungsi ini hanya akan mengembalikan tuple yang benar-benar ada. Untuk informasi lebih lanjut, lihat Konsep Kunci dalam MDX (Layanan Analisis).

Examples

Kueri berikut menunjukkan contoh sederhana penggunaan fungsi Crossjoin pada sumbu Kolom dan Baris dari sebuah kueri:

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]  

Contoh berikut menunjukkan penyaringan otomatis yang terjadi ketika hierarki berbeda dari dimensi yang sama disilangkan:

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]  

Tiga contoh berikut memberikan hasil yang sama - Jumlah Penjualan Internet per negara bagian untuk negara bagian dalam Amerika Serikat. Dua yang pertama menggunakan dua sintaksis cross join dan yang ketiga menunjukkan penggunaan klausa WHERE untuk mengembalikan informasi yang sama.

Contoh 1

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

Contoh 2

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

Contoh 3

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