Udostępnij za pośrednictwem


Połączenie krzyżowe (MDX)

Zwraca iloczyn krzyżowy jeden lub więcej zestawów.

Składnia

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

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

Argumenty

  • Set_Expression1
    Prawidłowe wyrażenie Multidimensional Expressions (MDX), które zwraca zestaw.

  • Set_Expression2
    Prawidłowe wyrażenie Multidimensional Expressions (MDX), które zwraca zestaw.

Uwagi

Crossjoin Funkcja zwraca iloczyn krzyżowy dwóch lub więcej określonych zestawów.Zamówienia w Wynikowy zestaw krotek, zależy od kolejności zestawy, które mają zostać połączone oraz kolejność ich członków.Na przykład, gdy pierwszy zestaw składa {x 1, x 2,..., xn}, a drugi zestaw składa się z {y1 i y2..., yn}, jest iloczyn krzyżowy tych zestawów:

{(x 1, y1), (x 1, y2),..., (x 1, yn), (x 2, y1), (x 2, y2),...,

(x 2, yn),..., (xn, y1), (xn, y2),..., (xn, yn)}

Ważna informacjaWażne:

Jeśli składają się zestawy w łączyć krzyżowego krotek, atrybut różne hierarchie, w tym samym wymiar, funkcja ta będzie zwracać tylko krotek, które rzeczywiście istnieją.Aby uzyskać więcej informacji, zobacz Podstawowe pojęcia dotyczące MDX (MDX).

Przykłady

Następująca kwerenda zawiera proste przykłady zastosowania funkcja Crossjoin na oś wierszy i kolumn w kwerendzie:

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]

W poniższym przykładzie pokazano automatyczne filtrowanie ma miejsce, gdy różne hierarchie z tego samego wymiar są 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]

Następujące trzy przykłady zwracają wyniki - Internet Sales Amount przez Państwo dla Państw w Stanach Zjednoczonych.Należy użyć dwóch pierwszych dwóch składni łączyć krzyżowego i trzeci zademonstrowano użycie klauzula WHERE do zwracania tych samych informacji.

Przykład 1

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

Przykład 2

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

Przykład 3

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

Zobacz także

Odwołanie