Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Retorna o produto vetorial de um ou mais conjuntos.
Sintaxe
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Argumentos
Set_Expression1
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um conjunto.
Set_Expression2
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna um conjunto.
Remarks
A função de junção cruzada retorna o produto vetorial de dois ou mais conjuntos especificados. A ordem das tuplas no conjunto resultante depende da ordem dos conjuntos a serem unidos e da ordem de seus membros. Por exemplo, quando o primeiro conjunto consiste em {x1, x2,...,xn}, e o segundo conjunto consiste em {y1, y2, ...,y n}, o produto vetorial desses conjuntos é:
{(x1, y1), (x1, y2),...,(x1,y n), (x2, y1), (x2, y2),...,
(x2, yn),..., (xn, y1), (xn, y2),..., (xn,y n)}
Importante
Se os conjuntos na junção cruzada forem compostos por tuplas de diferentes hierarquias de atributos na mesma dimensão, essa função retornará apenas aquelas tuplas que realmente existem. Para mais informações, veja Conceitos-Chave em MDX (Serviços de Análise).
Exemplos
A consulta a seguir mostra exemplos simples do uso da função Crossjoin nos eixos Colunas e Linhas de uma consulta:
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]
O exemplo a seguir mostra o filtragem automático que ocorre quando diferentes hierarquias da mesma dimensão são entrelaçadas:
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]
Os três exemplos a seguir retornam os mesmos resultados - o Valor das Vendas pela Internet por estado para estados dentro dos Estados Unidos. Os dois primeiros usam as duas sintaxes de junção cruzada e o terceiro demonstra o uso da cláusula WHERE para retornar as mesmas informações.
Exemplo 1
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[State-Province].Members
) ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Exemplo 2
SELECT
[Customer].[Country].[United States] *
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Exemplo 3
SELECT
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
[Customer].[Country].[United States])