tipo

Esta página se refere ao parâmetro type que faz parte de uma mesclagem.

type também pode ser usado como parte de uma dimensão, descrita na página de documentação Tipos de dimensões, filtros e parâmetros.

type também pode ser usado como parte de uma medida, descrita na página de documentação Tipos de medida.

type também pode ser usado como parte de um filtro do painel, descrito na página de documentação de Parâmetros do painel.

type também pode ser usado como parte de um elemento do painel, descrito na página de documentação de parâmetros type (para painéis LookML).

Uso

explore: view_name {
join: view_name_2 {
type: inner
}
}
Hierarquia
type
Valor padrão
left_outer

Aceita
Um tipo de mesclagem (cross, full_outer, inner, left_outer)

Regras especiais
Ao usar um type diferente de left_outer, talvez você queira usar always_join para garantir que as linhas resultantes incluam suas restrições de mesclagem.

Definição

type permite descrever o tipo de mesclagem que você quer realizar. Os possíveis valores do tipo de mesclagem são representados na próxima imagem:

Os possíveis valores do tipo de mesclagem são descritos nestas seções desta página:

left_outer (o valor padrão)

O tipo de mesclagem mais comum no Looker é left_outer (o motivo para esse uso frequente está descrito na seção Os tipos de mesclagem left_outer geralmente são preferidos nesta página). Talvez você o conheça do SQL como uma LEFT JOIN. Quando você usa esse type, todas as linhas da guia "Explorar" são incluídas e os dados da visualização unificada são enviados, se disponíveis.



full_outer

O tipo de mesclagem full_outer, que você talvez conheça do SQL como uma FULL OUTER JOIN, inclui todas as linhas da visualização "Explorar" e "Join", mesmo que não haja dados correspondentes da outra visualização. As junções externas completas não são suportadas no MySQL.



inner

O tipo de mesclagem inner, que você talvez conheça do SQL como JOIN ou INNER JOIN, inclui apenas linhas que tenham registros correspondentes nas visualizações "explorar" e "mescladas".



cross

O tipo de mesclagem cross, que você talvez conheça do SQL como CROSS JOIN, raramente é usado. Em alguns casos, isso é útil para o preenchimento automático ou a geração de matrizes. Ela cria uma linha para cada combinação das visualizações "Explorar" e "Mescladas". O conceito é difícil de mostrar em um diagrama de Venn e pode ser mais bem compreendido analisando o exemplo da tabela:

Examples

Use uma LEFT JOIN para adicionar dados de dna aos dados de people, se informações dna estiverem disponíveis:

explore: person {
  join: dna {
    sql_on: ${person.dna_id} = ${dna.id} ;;
    type: left_outer  # Could be excluded since left_outer is the default
  }
}

Use um FULL OUTER JOIN para adicionar dados de user aos dados de order, mesmo que o usuário não tenha feito um pedido:

explore: order {
  join: user {
    sql_on: ${order.user_id} = ${user.id} ;;
    type: full_outer
  }
}

Use um INNER JOIN para adicionar dados de user aos dados de event e limite os resultados apenas aos eventos gerados por um usuário:

explore: event {
  join: user {
    sql_on: ${event.user_id} = ${user.id} ;;
    type: inner
  }
}

Use um CROSS JOIN para gerar todas as combinações possíveis de owner e property:

explore: property {
  join: owner {
    sql_on: 1 = 1 ;; # this sql_on condition is required in some dialects,
    type: cross      # but causes problems in other dialects, try adding or
  }                  # removing if you experience problems with cross joins
}

Informações úteis

left_outer tipo de mesclagem é preferível

Ao aprender e usar o SQL, muitas pessoas se concentram principalmente em JOIN, tecnicamente conhecida como "junção interna". Por isso, pode-se supor que type: inner_join é usado na maioria dos casos. No entanto, o Looker geralmente funciona melhor com type: left_outer, o que é semelhante a usar um LEFT JOIN no SQL.

O motivo é que a visualização associada a uma exploração (em vez das visualizações unidas a ela) geralmente são os dados "primários". Por exemplo, você pode ter uma guia Explorar com base nas informações do evento. Alguns eventos podem ser gerados pelo seu sistema e outros, pelos seus usuários. Se você mesclar o user com o event usando um JOIN normal, só poderá ver os eventos criados por um usuário e perderá a visibilidade dos eventos do sistema. Usando um LEFT JOIN, você pode ver todos os eventos, mesmo que não haja um usuário associado a eles.

Use always_join se a restrição de linhas for importante

Quando o Looker gera SQL para uma consulta, ele tenta criar o SQL mais limpo possível e usa apenas as mesclagens necessárias para os campos selecionados pelo usuário. Ao usar type para definir algo diferente de um LEFT JOIN, talvez você queira que uma determinada mesclagem (ou conjunto de mesclagens) faça parte da consulta para garantir que as linhas resultantes incluam suas restrições de mesclagem. Para isso, use o parâmetro always_join.