sql_table_name (para junções)

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

sql_table_name também pode ser usado como parte de uma visualização, conforme descrito na página de documentação do parâmetro sql_table_name (para visualizações).

sql_table_name também pode ser usado como parte de uma análise, conforme descrito na página de documentação do parâmetro sql_table_name (para análises).

Uso

explore: view_name {
  join: view_name {
    sql_table_name: table_name ;;
  }
}
Hierarquia
sql_table_name
Valor padrão
Nenhum

Aceita
Um nome de tabela no banco de dados

Regras especiais

Definição

Normalmente, a visualização em que uma join é baseada define a tabela a ser consultada.

Você pode usar sql_table_name para definir a tabela no banco de dados a ser consultada por uma join. Isso é incomum, mas pode ser útil quando várias tabelas têm o mesmo esquema. Ele permite que a mesma visualização seja usada para descrever todas elas. sql_table_name permite especificar quais tabelas devem ser usadas pela visualização que você está mesclando. Nessas situações, considere usar extends ou refinamentos.

Definir o escopo dos nomes de tabelas

Quando você referencia uma tabela usando apenas o nome dela, o Looker usa o caminho de pesquisa padrão (o banco de dados e o esquema) que o administrador do Looker configurou nas definições da conexão de banco de dados. Consulte a seção Informações importantes desta página para mais informações.

Se você precisar referenciar uma tabela em um banco de dados e esquema diferente que não esteja no caminho de pesquisa padrão do usuário do banco de dados, defina o escopo do nome da tabela usando o formato <database_name>.<schema_name>.<table_name> para apontar para outro banco de dados ou esquema:

  • Para referenciar uma tabela de um esquema diferente, use <schema_name>.<table_name>, conforme mostrado no exemplo desta página.
  • Para referenciar uma tabela de um banco de dados diferente, use o <database_name>.<schema_name>.<table_name> completo.

Para uma conexão do Google BigQuery, você pode referenciar uma tabela em um projeto e conjunto de dados diferente definindo o escopo do nome da tabela usando o formato <project_name>.<dataset_name>.<table_name>. Consulte a página de documentação da conexão do Google BigQuery para mais informações.

Exemplos

Este exemplo faz com que a mesclagem customers dependa da tabela customer_1 do esquema padrão:

explore: orders {
  join: customers {
    sql_table_name: customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Este exemplo faz com que a mesclagem customers dependa da tabela customer_1 do esquema analytics definindo o escopo do nome da tabela para incluir o nome do esquema (usando o formato <schema_name>.<table_name>):

explore: orders {
  join: customers {
    sql_table_name: analytics.customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Informações importantes

As tabelas referenciadas por sql_table_name precisam estar acessíveis na conexão atual

Quando o parâmetro sql_table_name é usado em um objeto join, esse objeto join é definido em um objeto explore, que, por sua vez, é incluído em um objeto de modelo. A hierarquia nesta página mostra essa cadeia de relacionamento. O objeto de modelo tem uma connection de banco de dados definida nele. Quando você referencia uma tabela de banco de dados no parâmetro sql_table_name, a tabela precisa estar acessível na conexão associada especificada no arquivo de modelo.

O banco de dados e o esquema padrão (ou, para o Google BigQuery, o projeto de faturamento e o conjunto de dados) são definidos pelo administrador do Looker ao criar a conexão do Looker com o banco de dados.

Para nomear uma join de maneira diferente da tabela subjacente, aplique sql_table_name no nível da visualização

O uso de sql_table_name no nível join, conforme descrito nesta página, é incomum. Ele só deve ser usado quando a mesma visualização pode descrever várias tabelas.

O método mais comum é usar sql_table_name no nível da visualização para nomear uma visualização de maneira diferente do nome da tabela subjacente.

Em vez disto:

Arquivo de modelo

explore: orders {
  join: customers {
    sql_table_name: customer_1 ;;
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}}

faça o seguinte:

Arquivo de modelo

explore: orders {
  join: customers {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Arquivo de visualização

view: customers {
  sql_table_name: customer_1 ;;
}