sql_analytic_model_name (para visualizações)

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

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

Uso

view: view_name {
  sql_analytic_model_name: analytic_model_name ;;
}
Hierarquia
sql_analytic_model_name
Valor padrão
Nenhum

Aceita
Um nome de modelo analítico no banco de dados

Regras especiais
  • Os modelos analíticos são compatíveis apenas com conexões do BigQuery e do Snowflake.
  • O modelo analítico referenciado por sql_analytic_model_name precisa estar acessível na conexão de banco de dados do modelo.
  • Se o modelo analítico estiver em um banco de dados, esquema, projeto ou conjunto de dados diferente do caminho padrão definido na conexão de banco de dados, você precisará definir o escopo do nome do modelo analítico.

Definição

Para conexões do BigQuery e do Snowflake, o sql_analytic_model_name parâmetro especifica o nome de um modelo analítico no banco de dados (um gráfico do BigQuery ou uma visualização semântica no Snowflake) a ser usado como base para uma visualização do LookML. Isso permite aproveitar modelos analíticos definidos diretamente no banco de dados, como o gráfico do BigQuery ou visualizações semânticas no Snowflake.

Nesse cenário, o objeto do modelo analítico já existe no banco de dados e é gerenciado por ele. O modelo analítico não é criado, mantido ou controlado pelo Looker. Isso é análogo a como as tabelas de banco de dados comuns expostas como visualizações do LookML usando sql_table_name não são regidas pelo Looker.

No arquivo de visualização do LookML, use o parâmetro sql_analytic_model_name para direcionar o Looker ao modelo analítico no banco de dados. Em seguida, crie dimensões e métricas do Looker para mapear o modelo analítico para que você possa usar o Looker para consultar o modelo analítico.

Definir o escopo de nomes de modelos analíticos

Quando você referencia um modelo analítico usando apenas o nome dele, 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.

Se você precisar referenciar um modelo analítico 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 do modelo analítico usando o formato <database_name>.<schema_name>.<analytic_model_name> para apontar para outro banco de dados ou esquema:

  • Para referenciar um modelo analítico de um esquema diferente, use <schema_name>.<analytic_model_name>.
  • Para referenciar um modelo analítico de um banco de dados diferente, use o <database_name>.<schema_name>.<analytic_model_name> completo.

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

Criar dimensões e métricas do LookML com base na visualização analítica

Depois de criar um arquivo de visualização e identificar um modelo analítico como sql_analytic_model_name, no mesmo arquivo de visualização, você pode definir dimensões e métricas do LookML com base no modelo analítico.

Consulte a documentação do dialeto para informações sobre a sintaxe SQL adequada a ser usada para se referir a elementos no modelo analítico. Por exemplo, para criar uma dimensão do LookML de uma entidade do gráfico do BigQuery, você precisa usar sublinhados para separar elementos ao definir o escopo. Por exemplo, para o gráfico do BigQuery, essa dimensão do LookML é baseada na propriedade location_id na tabela de nós Stores:

  dimension: location_id {
    type: number
    sql: Stores_location_id ;;
  }

No entanto, para criar uma dimensão do LookML com base em uma visualização semântica do Snowflake, você precisa usar o nome não qualificado de uma métrica ou dimensão.

Exemplo

Confira um exemplo de gráfico do BigQuery chamado StoreGraph definido em um banco de dados do BigQuery:

CREATE OR REPLACE PROPERTY GRAPH mydataset.StoreGraph
  NODE TABLES (
    mydataset.Stores AS S,
    mydataset.Locations AS L
    PROPERTIES(id, name, population, MEASURE(SUM(population)) AS total_population)
  )
  EDGE TABLES (
    mydataset.Stores AS SL
    SOURCE KEY (location_id) REFERENCES L (id)
    DESTINATION KEY (name) REFERENCES S (name)
  );

E aqui está um exemplo de visualização do LookML com base no gráfico do BigQuery StoreGraph, incluindo dimensões e métricas mapeadas para o gráfico:

view: MyStoreGraphView {
  sql_analytic_model_name: StoreGraph ;;

  dimension: location_id {
    type: number
    sql: Stores_location_id ;;
  }

  dimension: population {
    type: number
    sql: Locations_population ;;
  }

  dimension: location_name {
    type: string
    sql: Locations_name ;;
  }

  measure: locations_total_population {
    type: number
    sql: Locations_total_population ;;
  }
}

Informações importantes

Considerações sobre modelos analíticos no Looker

Ao usar modelos analíticos no banco de dados, tenha em mente as seguintes considerações e limitações:

  • Tipos de dados: apenas os seguintes tipos de dados para dimensões e métricas são compatíveis com modelos analíticos:

    • Compatível com dimensões e métricas:
      • string
      • number
      • date
      • yesno
    • Compatível apenas com dimensões:
      • time
      • date_time
  • Métricas :

    • As métricas de base precisam ser predefinidas:as métricas de base precisam ser predefinidas no modelo analítico do banco de dados subjacente. O Looker não pode definir uma nova métrica de base executando uma agregação (como type: sum ou type: count) em uma dimensão de um modelo analítico.
    • As métricas baseadas em outras métricas são compatíveis:você pode usar o parâmetro sql de uma métrica do LookML para realizar cálculos não agregados que usam métricas de base predefinidas do modelo analítico. Ao criar uma métrica baseada em outras métricas, não é possível definir a nova métrica como um tipo de métrica agregada, como sum ou count. Você precisa definir a nova métrica como um tipo de métrica não agregada, como string, number, date ou yesno. Confira o exemplo a seguir:

      measure: average_order_amount {
        type: number
        sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;;
      }
      
  • Mesclas:uma Análise cuja visualização de base é baseada em um modelo analítico não pode incluir mesclas. Da mesma forma, uma visualização baseada em um modelo analítico não pode ser mesclada em uma Análise que tenha uma visualização de base padrão do LookML.

  • Mesclas implícitas:os recursos que dependem de mesclas implícitas não são compatíveis com modelos analíticos. Alguns exemplos de recursos que dependem de mesclas implícitas são calendários personalizados e campos definidos com type: location, type: distance ou type: zipcode.

  • Os recursos a seguir não são compatíveis com modelos analíticos:

O modelo analítico precisa estar acessível na conexão atual

Quando o parâmetro sql_analytic_model_name é usado em um objeto view, esse objeto view pode ser referenciado em um objeto explore, que, por sua vez, é referenciado em um objeto modelo. O objeto de modelo tem uma connection de banco de dados definida nele. Quando você referencia um modelo analítico no parâmetro sql_analytic_model_name, o modelo analítico 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.