Esta página se refere ao parâmetro
sql_table_name, que faz parte de uma mesclagem.
sql_table_nametambém pode ser usado como parte de uma visualização, conforme descrito na página de documentação do parâmetrosql_table_name(para visualizações).
sql_table_nametambém pode ser usado como parte de uma análise, conforme descrito na página de documentação do parâmetrosql_table_name(para análises).
Uso
explore: view_name {
join: view_name {
sql_table_name: table_name ;;
}
}
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 ;;
}