Partilhar via


Função CROSSJOIN (DAX)

Retorna uma tabela que contém o produto cartesiano de todas as linhas de todas as tabelas nos argumentos. As colunas da nova tabela são todas as colunas de todas as tabelas de argumentos.

Sintaxe

CROSSJOIN(<table>, <table>[, <table>]…)

Parâmetros

  • table
    Qualquer expressão DAX que retorna uma tabela de dados

Valor de retorno

Uma tabela que contém o produto cartesiano de todas as linhas de todas as tabelas nos argumentos.

Comentários

  • Todos os nomes de coluna de argumentos table devem ser diferentes em todas as tabelas; caso contrário, um erro é retornado.

  • O número total de linhas retornado por CROSSJOIN() é igual ao produto do número de linhas de todas as tabelas nos argumentos; além disso, o número total de colunas na tabela de resultados é a soma do número de colunas em todas as tabelas. Por exemplo, se TableA tiver linhas rA e colunas cA, TableB tiver linhas rB e colunas cB e TableC tiver linhas rC e coluna cC, a tabela resultante terá linhas rA × rB × rC e colunas cA + cB + cC.

Exemplo

O exemplo a seguir mostra os resultados da aplicação de CROSSJOIN() a duas tabelas: Colors e Stationery.

A tabela Colors contém cores e padrões:

Cor

Padrão

Vermelho

Horizontal Stripe

Verde

Vertical Stripe

Azul

Crosshatch

A tabela Stationery contém fontes e apresentação:

Fonte

Apresentação

serif

embossed

sans-serif

engraved

A expressão para gerar a junção cruzada é apresentada a seguir:

CROSSJOIN( Colors, Stationery)

Quando a expressão anterior é usada sempre que uma expressão de tabela é esperada, os resultados da expressão são:

Vermelho

Horizontal Stripe

serif

embossed

Verde

Vertical Stripe

serif

embossed

Azul

Crosshatch

serif

embossed

Vermelho

Horizontal Stripe

sans-serif

engraved

Verde

Vertical Stripe

sans-serif

engraved

Azul

Crosshatch

sans-serif

engraved