sql_table_name (para mesclagens)

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, descrita na página de documentação de parâmetro sql_table_name (para visualizações).

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

Uso

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

Aceita
Um nome de tabela no banco de dados

Regras especiais
  • A tabela precisa estar acessível na conexão do banco de dados
  • Se a tabela estiver em um esquema diferente, o esquema vai precisar ser especificado
  • Ao mesclar entre bancos de dados, o banco de dados e o esquema precisam ser especificados e o outro banco de dados precisa estar na mesma máquina e estar no mesmo dialeto SQL

Definição

Normalmente, a visualização em que um join se baseia define a tabela a ser consultada.

É possível usar sql_table_name para definir a tabela no banco de dados a ser consultada por um join. Isso é incomum, mas pode ser útil quando várias tabelas têm o mesmo esquema. Isso 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 de que você está mesclando. Nessas situações, use extends ou refinamentos.

Para referenciar uma tabela de um esquema diferente, use schema_name.table_name. Para referenciar uma tabela de outro banco de dados, use database_name.schema_name.table_name. No entanto, as mesclagens entre bancos de dados exigem que eles estejam na mesma máquina e estejam no mesmo dialeto SQL.

Se você não especificar explicitamente o esquema, o Looker usará o padrão definido. O padrão é configurado na seção Administrador do Looker em Conexões.

Examples

Faça a mesclagem de customers depender da tabela customer_1 do esquema padrão:

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

Faça o customers explorar depender da tabela customer_1 do esquema analytics:

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

Desafios comuns

As tabelas referenciadas por sql_table_name precisam ser acessíveis pela conexão atual

sql_table_name será usado com uma mesclagem que, por sua vez, faz parte de um modelo. O modelo terá uma conexão de banco de dados definida. Qualquer tabela referenciada em sql_table_name precisa ser acessível nessa conexão de banco de dados.

Informações úteis

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

É comum usar sql_table_name no nível do join, como descrito nesta página. 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.

Em vez disto:

Arquivo de modelo

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

faça isto:

Arquivo de modelo

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

Ver arquivo

view: customers {
  sql_table_name: customer_1 ;;
}