Prática recomendada: como criar um LookML sustentável e sustentável

Essas práticas recomendadas refletem as recomendações compartilhadas por uma equipe multifuncional de Lookers experientes. Esses insights são provenientes de anos de experiência trabalhando com clientes do Looker, desde a implementação até o sucesso em longo prazo. As práticas foram elaboradas para funcionar na maioria dos usuários e situações. No entanto, como sempre, use o bom senso ao implementar as sugestões nesta página.

Nesta página, você encontra recomendações para criar um LookML sustentável e sustentável. Essas recomendações são descritas em mais detalhes nas seguintes seções:

Usar operadores de substituição

Os operadores de substituição precisam ser usados em todos os arquivos do LookML. Um modelo LookML só pode ter um único ponto de referência para qualquer objeto no modelo de dados físico. Todas as definições subsequentes que precisarem referenciar esse objeto precisam apontar para o objeto LookML já definido.

Use a sintaxe ${TABLE}.field_name ao referenciar a tabela de banco de dados subjacente, para todas as dimensões base que extraem dados diretamente das colunas de banco de dados subjacentes. Se um esquema ou nome de tabela mudar, isso permite que um desenvolvedor atualize o esquema ou o nome da tabela em um lugar (dentro do parâmetro sql_table_name) e faça com que ele seja propagado pelo restante do código.

Use a sintaxe ${field_name} ao referenciar dimensões ou medidas que já foram definidas no LookML. Se o nome de uma coluna mudar, essa mudança só vai precisar ser atualizada no parâmetro sql da dimensão ou das medidas de base. Essa alteração será propagada automaticamente para todos os outros campos que fazem referência à coluna. Por exemplo, se o nome de uma coluna no seu banco de dados mudar de usersid para users_id, você vai precisar mudar a referência no Looker. Usar ${field_name} significa que você só precisa atualizar uma linha.

Quando várias dimensões e medidas fazem referência a um campo LookML atual com ${TABLE}.field_name, são necessárias muitas mudanças. Por exemplo, considere as medidas this_week_count e this_month_count no exemplo de código LookML a seguir:

dimension: usersid {
  type: number
  sql: ${TABLE}.usersid ;; # Change here
}

measure: this_week_count {
  type: count_distinct
  sql: ${TABLE}.usersid ;; # Change here
  filters: [created_date: "7 days"]
}

measure: this_month_count {
  type: count_distinct
  sql: ${TABLE}.usersid ;; # Change here
  filters: [created_date: "1 month"]
}

Como this_week_count e this_month_count usam a sintaxe ${TABLE}.usersid no parâmetro sql, será necessário atualizar o parâmetro sql para os três campos.

Com a referência ${field_name}, apenas uma mudança é necessária:

dimension: usersid {
  type: number
  sql: ${TABLE}.usersid ;; # Change here
}

measure: this_week_count {
  type: count_distinct
  sql: ${usersid} ;;       #Using ${field_name} to reference the LookML field `usersid`
  filters: [created_date: "7 days"]
}

measure: this_month_count {
  type: count_distinct
  sql: ${usersid} ;;       #Using ${field_name} to reference the LookML field `usersid`
  filters: [created_date: "1 month"]
}

Para mais usos de operadores de substituição, consulte a página de documentação Como incorporar SQL e referenciar objetos do LookML.

Definir conjuntos de campos

Use conjuntos para manter listas de campos reutilizáveis no modelo. Todas as listas de campos repetidas, com o parâmetro fields ou nos campos de detalhamento, precisam ser incorporadas aos conjuntos para criar um único local no modelo em que essa lista de campos possa ser atualizada ou as referências de campo possam ser alteradas. Saiba mais sobre conjuntos na página de documentação do parâmetro set.

Evitar repetir o código

Pense nos objetos LookML como elementos básicos e use o parâmetro extends para combinar objetos de maneiras diferentes sem repetir o código. Você encontra informações detalhadas e exemplos de reutilização de código na página de documentação Como reutilizar códigos com extensões. Confira mais exemplos nas páginas de documentação dos parâmetros extends (para visualizações) e extends (para Análises) e na postagem na Comunidade Como usar extensões para definir participações.

Mantenha a consistência entre as Análises não repetindo o código em vários lugares. Para mais ideias sobre como fazer isso, consulte a postagem na Comunidade do Looker sobre como evitar inconsistências nas Análises detalhadas.

Consolide itens como camadas de mapa e formatos de valor

Defina camadas de mapa personalizadas centralmente em um arquivo LookML chamado map_layers.lkml, que você pode criar seguindo a documentação do Looker sobre arquivos de projeto. Esse arquivo pode ser incluído conforme necessário nos modelos. Como alternativa, adicione arquivos JSON diretamente ao repositório arrastando e soltando arquivos de dados no projeto do LookML e faça referência a eles no modelo.

Por exemplo, suponha que você tenha um arquivo de camadas de mapa, map_layers.base.lkml, contendo o seguinte código LookML:

map_layer: example_africa {
  file: "africa_file_name.json"
  property_key: "geounit"
}

map_layer: example_asia {
  file: "asia_file_name.json"
  property_key: "geounit"
}

map_layer: example_europe {
  file: "europe_file_name.json"
  property_key: "geounit"
}

É possível incluir o arquivo de camadas de mapa map_layers.base.lkml em qualquer modelo no projeto adicionando o código LookML include: "map_layers.base.lkml" ao arquivo de modelo desejado.

Defina todos os formatos de valor personalizados de maneira centralizada no modelo. Use o parâmetro named_value_format para definir formatos personalizados no modelo e, em seguida, faça referência a eles que usam o parâmetro value_format_name nas dimensões e medições.

Criar diretrizes de desenvolvimento

Definir diretrizes de desenvolvimento para facilitar o desenvolvimento e o escalonamento de um modelo LookML. Confira a postagem na Comunidade do Looker com exemplos de diretrizes de desenvolvimento do LookML para conferir um tutorial de uma lista de diretrizes de desenvolvimento de exemplo. As diretrizes comuns incluem requisitos para:

  • Organizar claramente os arquivos do LookML para que sejam consistentes e fáceis de navegar
  • Usar comentários em todas as visualizações e modelos para adicionar contexto ao LookML escrito
  • Como criar documentação no Looker usando arquivos Markdown