CROSSJOIN
Aplica-se a:Coluna calculadaTabela calculadaMedidaCálculo visual
Retorna uma tabela que contém o produto cartesiano de todas as linhas de todas as tabelas nos argumentos. As colunas na nova tabela são todas as colunas em todas as tabelas de argumentos.
Sintaxe
CROSSJOIN(<table>, <table>[, <table>]…)
Parâmetros
Termo | Definição |
---|---|
tabela | Qualquer expressão DAX que retorna uma tabela de dados |
Retornar valor
Uma tabela que contém o produto cartesiano de todas as linhas de todas as tabelas nos argumentos.
Comentários
Os nomes de coluna dos argumentos de table precisam ser diferentes em todas as tabelas ou um erro é retornado.
O número total de linhas retornadas 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 as linhas rA e as colunas cA, TableB tiver as linhas rB e as colunas cB e TableC tiver as linhas rC e a coluna cC, a tabela resultante terá as linhas rA × rb × rC e as colunas cA + cB + cC.
Não há suporte para a função ser usada no modo DirectQuery quando usada em regras RLS (segurança em nível de linha) ou colunas calculadas.
Exemplo
O seguinte exemplo mostra os resultados da aplicação de CROSSJOIN() a duas tabelas: Cores e Papel de carta.
A tabela Cores contém cores e padrões:
Cor | Padrão |
---|---|
Vermelho | Faixa horizontal |
Verde | Faixa vertical |
Azul | Hachura |
A tabela Papel de carta contém fontes e apresentação:
Fonte | Apresentação |
---|---|
com serifa | alto-relevo |
sem serifa | baixo-relevo |
A expressão usada para gerar a união cruzada é apresentada abaixo:
CROSSJOIN( Colors, Stationery)
Quando a expressão acima é usada sempre que uma expressão de tabela é esperada, os resultados da expressão são os seguintes:
Cor | Padrão | Fonte | Apresentação |
---|---|---|---|
Vermelho | Faixa horizontal | com serifa | alto-relevo |
Verde | Faixa vertical | com serifa | alto-relevo |
Azul | Hachura | com serifa | alto-relevo |
Vermelho | Faixa horizontal | sem serifa | baixo-relevo |
Verde | Faixa vertical | sem serifa | baixo-relevo |
Azul | Hachura | sem serifa | baixo-relevo |