Crossjoin (MDX)
Mengembalikan produk silang dari satu atau beberapa set.
Sintaks
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Argumen
Set_Expression1
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan satu set.
Set_Expression2
Ekspresi Ekspresi Multidminsional (MDX) yang valid yang mengembalikan satu set.
Keterangan
Fungsi Crossjoin mengembalikan produk silang dari dua set yang ditentukan atau lebih. Urutan tuple dalam set yang dihasilkan tergantung pada urutan set yang akan digabungkan dan urutan anggota mereka. Misalnya, ketika set pertama terdiri dari {x1, x2,...,xn}, dan set kedua terdiri dari {y1, y2, ..., yn}, produk silang dari set ini adalah:
{(x1, y1), (x1, y2),...,(x1, yn), (x2, y1), (x2, y2),...,
(x2, yn),..., (xn, y1), (xn, y2),..., (xn, yn)}
Penting
Jika set dalam gabungan silang terdiri dari tuple dari hierarki atribut yang berbeda dalam dimensi yang sama, fungsi ini hanya akan mengembalikan tuple yang benar-benar ada. Untuk informasi selengkapnya, lihat Konsep Utama di MDX (Analysis Services).
Contoh
Kueri berikut ini memperlihatkan contoh sederhana penggunaan fungsi Crossjoin pada sumbu Kolom dan Baris 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 pemfilteran otomatis yang terjadi ketika hierarki yang berbeda dari dimensi yang sama bergabung secara silang:
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 mengembalikan hasil yang sama - Jumlah Penjualan Internet menurut status untuk status di Amerika Serikat. Dua pertama menggunakan dua sintaks gabungan silang 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])