Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí vektorový součin jedné nebo více množin.
Syntax
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Arguments
Set_Expression1
Platný výraz Multidimensional Expressions (MDX), který vrací množinu.
Set_Expression2
Platný výraz Multidimensional Expressions (MDX), který vrací množinu.
Remarks
Funkce Crossjoin vrací vektorový součin dvou nebo více specifikovaných množin. Pořadí n-tic v výsledné množině závisí na pořadí množin, které mají být spojeny, a na pořadí jejich členů. Například když první množina obsahuje {x1, x2,...,xn} a druhá množina {y1, y2, ..., yn}, vektorový součin těchto množin je:
{(x1, y1), (x1, y2),...,(x1, yn), (x2, y1), (x2, y2),...,
(x2,y n),..., (xn, y1), (xn, y2),..., (xn, yn)}
Important
Pokud jsou množiny v křížovém spojení složeny z n-tic z různých hierarchií atributů ve stejné dimenzi, tato funkce vrátí pouze ty n-tice, které skutečně existují. Pro více informací viz Klíčové koncepty v MDX (Analytic Services).
Examples
Následující dotaz ukazuje jednoduché příklady použití funkce Crossjoin na ose Columns and Rows dotazu:
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]
Následující příklad ukazuje automatické filtrování, které probíhá, když jsou různé hierarchie ze stejné dimenze propojeny:
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]
Následující tři příklady dávají stejné výsledky – částku internetových prodejů podle států pro státy v rámci USA. První dvě používají syntaxe dvou křížových spojení a třetí ukazuje použití klauzule WHERE k vrácení stejné informace.
Příklad 1
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[State-Province].Members
) ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Příklad 2
SELECT
[Customer].[Country].[United States] *
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Příklad 3
SELECT
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
[Customer].[Country].[United States])