sql_table_name (para junções)

Esta página se refere ao parâmetro sql_table_name, que faz parte de uma junção.

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 detalhada, conforme descrito na página de documentação do parâmetro sql_table_name (para análises detalhadas).

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 seu banco de dados

Regras especiais

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 que será consultada por um join. Isso é incomum, mas pode ser útil quando várias tabelas têm o mesmo esquema, permitindo 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á unindo. Nesses casos, use extends ou refinamentos.

Nomes de tabelas de escopo

Quando você faz referência a 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 com o banco de dados. Consulte a seção O que considerar desta página para mais informações.

Se você precisar fazer referência a 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, poderá definir 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 nesta 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 diferentes ao definir o escopo do nome da tabela usando o formato <project_name>.<dataset_name>.<table_name>. Consulte a página de documentação Conexão do Google BigQuery para mais informações.

Exemplos

Neste exemplo, a junção customers depende 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 junção 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 model. A hierarquia nesta página mostra essa cadeia de relacionamento. O objeto do modelo tem um connection de banco de dados definido nele. Quando você faz referência a uma tabela de banco de dados no parâmetro sql_table_name, ela precisa estar acessível na conexão associada especificada no arquivo de modelo.

O banco de dados e o esquema padrão (ou, no caso do 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 seu banco de dados.

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

Usar 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} ;;
  }
}

Ver arquivo

view: customers {
  sql_table_name: customer_1 ;;
}