Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca iloczyn wektóry jednego lub więcej zbiorów.
Syntax
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Arguments
Set_Expression1
Poprawne wyrażenie z wyrażeń wielowymiarowych (MDX), które zwraca zbiór.
Set_Expression2
Poprawne wyrażenie z wyrażeń wielowymiarowych (MDX), które zwraca zbiór.
Remarks
Funkcja Crossjoin zwraca iloczyn krzyżowy dwóch lub więcej określonych zbiorów. Kolejność krotek w powstałym zbiorze zależy od kolejności zbiorów do łączenia oraz kolejności ich członków. Na przykład, gdy pierwszy zbiór składa się z {x1, x2,...,xn}, a drugi z {y1, y2, ..., yn}, iloczyn wewnętrzny tych zbiorów jest następujący:
{(x1, y1), (x1, y2),...,(x1, yn), (x2, y1), (x2, y2),...,
(x2,y n),..., (xn, y1), (xn, y2),..., (xn, yn)}
Important
Jeśli zbiory w krzyżowym połączeniu składają się z krotek z różnych hierarchii atrybutów w tym samym wymiarze, funkcja ta zwróci tylko te krotek, które faktycznie istnieją. Więcej informacji można znaleźć w artykule Kluczowe pojęcia w MDX (Usługi analityczne).
Examples
Poniższe zapytanie pokazuje proste przykłady użycia funkcji Crossjoin na osi Kolumny i Wiersze zapytania:
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]
Poniższy przykład pokazuje automatyczne filtrowanie, które zachodzi, gdy różne hierarchie z tego samego wymiaru są przeciętne:
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]
Poniższe trzy przykłady dają te same wyniki – kwotę sprzedaży internetowej według stanów dla stanów Stany Zjednoczone. Pierwsze dwie wykorzystują składnie dwóch krzyżowych łączy, a trzecia demonstruje użycie klauzuli 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])