Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve o produto vetorial de um ou mais conjuntos.
Syntax
Standard syntax
Crossjoin(Set_Expression1 ,Set_Expression2 [,...n] )
Alternate syntax
Set_Expression1 * Set_Expression2 [* ...n]
Arguments
Set_Expression1
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Set_Expression2
Uma expressão válida de Expressões Multidimensionais (MDX) que devolve um conjunto.
Observações
A função Crossjoin devolve o produto vetorial de dois ou mais conjuntos especificados. A ordem das tuplas no conjunto resultante depende da ordem dos conjuntos a unir e da ordem dos seus elementos. Por exemplo, quando o primeiro conjunto consiste em {x1, x2,...,xn}, e o segundo conjunto consiste em {y1, y2, ...,y n}, o produto vetorial destes conjuntos é:
{(x1, y1), (x1, y2),...,(x1,y n), (x2, y1), (x2, y2),...,
(x2,y n),..., (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, esta função devolverá apenas as tuplas que realmente existem. Para mais informações, consulte Conceitos-Chave em MDX (Serviços de Análise).
Examples
A consulta seguinte mostra exemplos simples da utilização 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 seguinte mostra a filtragem automática 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 seguintes apresentam os mesmos resultados - o Valor das Vendas na Internet por estado para estados dentro dos Estados Unidos. As duas primeiras usam as duas sintaxes de cross join e a terceira demonstra o uso da cláusula WHERE para devolver a mesma informação.
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])