Estas práticas recomendadas refletem as recomendações partilhadas por uma equipa multifuncional de utilizadores experientes do Looker. Estas estatísticas resultam de anos de experiência a trabalhar com clientes do Looker, desde a implementação ao sucesso a longo prazo. As práticas são escritas para funcionar para a maioria dos utilizadores e situações. No entanto, como sempre, use o seu melhor julgamento ao implementar qualquer uma das sugestões nesta página.
Esta página oferece recomendações para escrever LookML sustentável e de fácil manutenção. Estas recomendações são descritas mais detalhadamente nas secções seguintes:
- Use operadores de substituição
- Defina conjuntos de campos
- Evite repetir código
- Consolide itens como camadas de mapas e formatos de valores
- Crie diretrizes de desenvolvimento
Use operadores de substituição
Os operadores de substituição devem ser usados em todos os ficheiros LookML. Um modelo LookML deve ter apenas um ponto de referência para qualquer objeto no modelo de dados físico. Todas as definições subsequentes que precisem de fazer referência a esse objeto devem fazê-lo apontando para o objeto LookML já definido.
Use a sintaxe ${TABLE}.field_name
quando fizer referência à tabela da base de dados subjacente para todas as dimensões base que extraem dados diretamente das colunas da base de dados subjacente. Se o nome de um esquema ou de uma tabela mudar, isto permite que um programador atualize o esquema ou o nome da tabela num único local (no parâmetro sql_table_name
) e que a alteração seja propagada ao resto do código.
Use a sintaxe ${field_name}
quando fizer referência a dimensões ou medidas que já foram definidas no LookML. Se o nome de uma coluna for alterado, essa alteração só tem de ser atualizada no parâmetro sql
da dimensão ou das medidas base. Essa alteração é, em seguida, propagada automaticamente a todos os outros campos que fazem referência à coluna. Por exemplo, se o nome de uma coluna na sua base de dados mudar de usersid
para users_id
, tem de alterar a referência no Looker. A utilização de ${field_name}
significa que só tem de atualizar uma linha.
Quando várias dimensões e medidas fazem referência a um campo LookML existente com ${TABLE}.field_name
, são necessárias muitas alterações. Por exemplo, considere as medidas this_week_count
e this_month_count
no seguinte código LookML de exemplo:
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"] }
Uma vez que this_week_count
e this_month_count
usam a sintaxe ${TABLE}.usersid
no parâmetro sql
, é necessário atualizar o parâmetro sql
para todos os três campos.
Com a referência ${field_name}
, só é necessária uma alteração:
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 utilizações de operadores de substituição, consulte a nossa página de documentação Incorporar SQL e referir-se a objetos LookML.
Defina conjuntos de campos
Use conjuntos para manter listas de campos reutilizáveis no modelo. Todas as listas de campos repetidos, quer com o parâmetro fields
, quer nos campos de detalhe, devem ser incorporadas em conjuntos para criar um único local no modelo onde essa lista de campos possa ser atualizada ou as referências de campos alteradas. Pode encontrar mais informações sobre os conjuntos na página de documentação do parâmetro set
.
Evite repetir código
Pense nos objetos do LookML como blocos de construção e use o parâmetro extends
para combinar objetos de diferentes formas sem repetir código. Pode encontrar informações detalhadas e exemplos de reutilização de código na página de documentação Reutilizar código com extends. Pode ver exemplos adicionais nas páginas de documentação dos parâmetros extends
(para visualizações) e extends
(para explorações), bem como na publicação da comunidade Usar extensões para definir junções.
Mantenha a consistência nas explorações não repetindo o código em vários locais. Para ver ideias adicionais sobre como o fazer, consulte a publicação da comunidade do Looker sobre como evitar inconsistências nas explorações.
Consolide itens como camadas de mapas e formatos de valores
Defina camadas do mapa personalizadas de forma centralizada num ficheiro LookML denominado map_layers.lkml
, que pode criar seguindo a documentação do Looker sobre ficheiros de projetos. Em seguida, pode incluir este ficheiro conforme necessário em todos os modelos. Em alternativa, adicione ficheiros JSON diretamente ao repositório arrastando e largando ficheiros de dados no seu projeto LookML e referencie-os no modelo.
Por exemplo, suponhamos que tem um ficheiro de camadas de mapas, map_layers.base.lkml
, que contém 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" }
Pode incluir o ficheiro de camadas de mapas map_layers.base.lkml
em qualquer modelo no projeto adicionando o código LookML include: "map_layers.base.lkml"
ao ficheiro de modelo pretendido.
Defina formatos de valores personalizados de forma centralizada no modelo. Use o parâmetro named_value_format
para definir formatos personalizados no modelo e, em seguida, faça referência a esses formatos através do parâmetro value_format_name
nas dimensões e nas medidas.
Crie diretrizes de desenvolvimento
Defina diretrizes de desenvolvimento para facilitar o desenvolvimento e o dimensionamento de um modelo LookML. Consulte a publicação da comunidade do Looker sobre diretrizes de desenvolvimento de LookML de exemplo para ver um passo a passo de uma lista de diretrizes de desenvolvimento de exemplo. As diretrizes comuns incluem requisitos para:
- Organizar claramente os ficheiros LookML para que sejam consistentes e fáceis de navegar
- Usar comentários nas vistas e nos modelos para adicionar contexto ao LookML escrito
- Criar documentação no Looker com ficheiros Markdown