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, conforme descrito 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
Nenhuma

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 do banco de dados, defina o escopo do nome do modelo analítico.

Definição

Para conexões do BigQuery e do Snowflake, o parâmetro sql_analytic_model_name 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) que será usado como base para uma visualização da LookML. Isso permite aproveitar modelos analíticos definidos diretamente no banco de dados, como o BigQuery Graph ou as 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 regido pelo Looker. Isso é análogo a como as tabelas de banco de dados regulares expostas como visualizações do LookML usando sql_table_name não são governadas 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 seu banco de dados. Em seguida, crie dimensões e métricas do Looker para mapear o modelo analítico e usar o Looker para consultar esse modelo.

Definir o escopo dos nomes de modelos analíticos

Quando você faz referência a 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 configurações da conexão de banco de dados.

Se você precisar fazer referência a 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, use 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 outro projeto e conjunto de dados 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 Conexão do Google BigQuery para mais informações.

Criar dimensões e métricas do LookML com base na sua visualização de análise

Depois de criar um arquivo de visualização e identificar um modelo analítico como o 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 seu dialeto para informações sobre a sintaxe SQL adequada a ser usada para se referir a elementos no seu modelo analítico. Por exemplo, para criar uma dimensão da LookML com base em uma entidade de gráfico do BigQuery, use sublinhados para separar os elementos ao definir o escopo. Por exemplo, para o BigQuery Graph, essa dimensão da 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 da LookML com base em uma visualização semântica do Snowflake, é necessário usar o nome não qualificado de uma métrica ou dimensão.

Exemplo

Este é 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)
  );

Este é um exemplo de visualização do LookML com base no gráfico do BigQuery StoreGraph, incluindo dimensões e medidas 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, lembre-se das seguintes considerações e limitações:

  • Tipos de dados:somente 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 medidas:
      • string
      • number
      • date
      • yesno
    • Compatível apenas com dimensões:
      • time
      • date_time
  • Medidas:

    • As medidas de base precisam ser predefinidas:no modelo analítico do banco de dados subjacente. O Looker não pode definir uma nova medida de base realizando uma agregação (como type: sum ou type: count) em uma dimensão de um modelo analítico.
    • Métricas baseadas em outras métricas são aceitas:use o parâmetro sql de uma métrica do LookML para realizar cálculos não agregados que usam métricas básicas predefinidas do modelo analítico. Ao criar uma medida com base em outras, não é possível definir a nova medida como um tipo agregado, como sum ou count. Defina a nova métrica como um tipo não agregado, como string, number, date ou yesno. Veja o exemplo a seguir:

      measure: average_order_amount {
        type: number
        sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;;
      }
      
  • Mesclas:uma Análise própria 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 unida a uma Análise detalhada que tenha uma visualização de base padrão do LookML.

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

  • Os seguintes recursos 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 do modelo tem um connection de banco de dados definido nele. Quando você faz referência a 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 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 quando ele cria a conexão do Looker com seu banco de dados.