de (para mesclagens)

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

O from também pode ser usado como parte de uma exploração, descrita na página de documentação do parâmetro from (para explorações).

Uso

explorar: view_name {
join: join_name {
from: view_name_2
}
}
Hierarquia
from
Valor padrão
Uma visualização cujo nome corresponde ao nome da mesclagem

Aceita
O nome de uma visualização existente

Definição

from especifica o view que será usado em uma mesclagem. Se from for omitido, o Looker entenderá que o nome da visualização subjacente é igual ao nome da mesclagem.

Normalmente, from é usado apenas se você quiser que a mesclagem e os campos dela tenham um nome diferente da visualização subjacente. Para deixar isso mais claro, considere um exemplo em que uma dimensão chamada order_value foi criada em uma visualização chamada underlying_view:

  • Normalmente, esse campo aparece como Valor subjacente do pedido de visualização na IU para Explorar e é referenciado no LookML com ${underlying_view.order_value}.
  • No exemplo de uso mencionado acima, o campo seria exibido como NEW ALIAS NAME Order Value e seria referenciado como ${new_alias_name.order_value}.

Essa técnica é particularmente útil quando a mesma visualização precisa ser mesclada a um recurso Explorar de várias maneiras.

Examples

Participe da visualização person e explore o order, mas chame-o de customer:

explore: order {
  join: customer {
    from: person
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Participe da visualização person e explore order duas vezes, uma como customer e outra como representative:

explore: order {
  join: customer {
    from: person
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
  join: representative {
    from: person
    sql_on: ${order.representative_id} = ${representative.id} ;;
  }
}

Considerações

from muda a forma como os campos são referenciados em um Explorar

Conforme mencionado acima, o uso de from tem um impacto importante na maneira como os campos são referenciados. Isso pode causar alguns desafios quando um view é usado em muitos lugares diferentes. Veja este exemplo:

explore: order {
  join: customer {
    from: person
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Aqui o person está sendo unido ao order, mas está sendo chamado de customer. Portanto, se você precisar referenciar um campo de customer em order, use ${customer.field_name}. Se, em uma segunda exploração, você mesclar o person ao order novamente, mas não renomeá-lo para customer, a referência ${customer.field_name} não funcionará nessa segunda exploração. A abordagem geral para esse problema é excluir o campo problemático do segundo Explore usando fields. Ele será parecido com:

explore: the_second_explore {
  fields: [ALL_FIELDS*, -person.problem_field]
  join: person {
    sql_on: ${the_second_explore.some_field} = ${person.some_field} ;;
  }
}

O from é usado com mais frequência para mesclar a mesma tabela mais de uma vez em uma exploração.

Em casos em que uma única tabela contém diferentes tipos de entidades, é possível mesclar uma visualização a um recurso Explorar mais de uma vez. Suponha que você tenha uma exploração order e precise participar de uma visualização person duas vezes: uma para o cliente e outra para o representante de atendimento ao cliente. Você pode fazer algo parecido com isto:

explore: order {
  join: customer {
    from: person
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
  join: representative {
    from: person
    sql_on: ${order.representative_id} = ${representative.id} ;;
  }
}

O SQL que o Looker geraria a partir desse LookML é:

SELECT    ...
FROM      order
LEFT JOIN person AS customer
ON        customer.id = order.customer_id
LEFT JOIN person AS representative
ON        representative.id = order.representative_id