Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Geeft het kruisproduct van één of meer verzamelingen terug.
Syntax
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Arguments
Set_Expression1
Een geldige Multidimensionale Expressies (MDX) expressie die een verzameling teruggeeft.
Set_Expression2
Een geldige Multidimensionale Expressies (MDX) expressie die een verzameling teruggeeft.
Remarks
De Crossjoin-functie geeft het kruisproduct terug van twee of meer gespecificeerde verzamelingen. De volgorde van de tupels in de resulterende verzameling hangt af van de volgorde van de te verbinden verzamelingen en de volgorde van hun leden. Bijvoorbeeld, wanneer de eerste verzameling bestaat uit {x1, x2,...,xn}, en de tweede verzameling uit {y1, y2, ..., yn}, is het kruisproduct van deze verzamelingen:
{(x1, y1), (x1, y2),...,(x1, yn), (x2, y1), (x2, y2),...,
(x2, yn),..., (xn, y1), (xn, y2),..., (xn, yn)}
Important
Als de verzamelingen in de kruisverbinding bestaan uit tuples uit verschillende attribuuthiërarchieën in dezelfde dimensie, geeft deze functie alleen die tuples terug die daadwerkelijk bestaan. Voor meer informatie, zie Sleutelconcepten in MDX (Analysediensten).
Examples
De volgende query toont eenvoudige voorbeelden van het gebruik van de Crossjoin-functie op de as Columns and Rows van een query:
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]
Het volgende voorbeeld toont de automatische filtering die plaatsvindt wanneer verschillende hiërarchieën uit dezelfde dimensie worden kruisverbonden:
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]
De volgende drie voorbeelden geven dezelfde resultaten - het Internet Sales Amount per staat voor staten binnen de Verenigde Staten. De eerste twee gebruiken de twee cross-join-syntaxis en de derde demonstreert het gebruik van de WHERE-clausule om dezelfde informatie terug te geven.
Voorbeeld 1
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[State-Province].Members
) ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Voorbeeld 2
SELECT
[Customer].[Country].[United States] *
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Voorbeeld 3
SELECT
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
[Customer].[Country].[United States])