Formas interessantes de usar o Liquid em rótulos

Esta página destaca maneiras úteis de usar o campo parameter do Looker com alguns dos subparâmetros label que aceitam variáveis líquidas.

Os exemplos nesta página exigem conhecimento do Liquid. Para saber como usar o Liquid no Looker, acesse a página de documentação Referência de variáveis líquidas.

Como usar view_label para nomes de visualizações dinâmicas

O parâmetro view_label do Looker é usado para agrupar dimensões com um nome mais contextual e fácil de usar no seletor de campo "Explorar". Para saber mais sobre os rótulos de visualização, acesse a página de documentação de view_label (para campos).

Atribuir o mesmo view_label às dimensões simplifica a Análise para os usuários. Grupos de campos claros e descritivos garantem que os usuários encontrem os dados de que precisam.

Exemplo: como escrever código DRY (não se repita) com um view_label do Liquid

Por exemplo, digamos que você tenha campos organizados em view_label Finanças e contabilidade em uma Análise detalhada chamada Itens de inventário:

dimension: cost {
  view_label: "Finance & Accounting"
  type: number
  sql: ${TABLE}.COST ;;
}

dimension: cost_ex_vat { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "Finance & Accounting" type: number sql: ${TABLE}.COST_EUR ;; }

E se você quisesse mudar o view_label Finanças e contabilidade para Zona do dinheiro para os usuários? O uso do Liquid pode evitar a reescrita repetitiva de código.

É possível criar um tipo de pseudovariável do nome da visualização desejada usando o campo parameter do Looker. Depois que você mudar o nome da visualização no parameter, todos os campos serão atualizados.

parameter: view_label {
  type: string
  default_value: "The Money Zone"
}

dimension: cost { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST ;; }

dimension: cost_ex_vat { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EX_VAT ;; }

dimension: cost_eur { view_label: "{% parameter view_label %}" type: number sql: ${TABLE}.COST_EUR ;; }

Seletor de campo "Análise dos itens de inventário" mostrando custo, custo euro e IVA de custo organizados sob o rótulo de visualização "A zona do dinheiro".

Observação: se você não quiser que as aspas apareçam no menu, parameter precisa ser definido como type:unquoted, e default_value precisa ser uma string sem espaços, por exemplo, The_Money_Zone. Se o parâmetro for type:string, as aspas serão exibidas.

Marcadores de campo dinâmico

Você pode ter vários grupos de usuários que podem interpretar o nome de um campo de maneira diferente. Por exemplo, alguns usuários podem se referir a uma margem bruta como margem operacional, e outros podem se referir a uma margem bruta como margem padrão, dependendo do caso de uso.

O nome de um campo pode ser diferente para diferentes usuários de acordo com a forma como você combina atributos do usuário e variáveis do Liquid.

Exemplo: rótulos diferentes para atributos de usuário diferentes

Extrapolando o exemplo anterior, é possível acomodar diferenças na lógica de negócios fazendo com que o campo Margem bruta apareça como Margem padrão para alguns usuários e Margem operacional para outros. O LookML a seguir usa atributos do usuário e variáveis do Liquid.

dimension: gross_margin {
  label: "{% if _user_attributes['customer'] == 'A' %} Standard Margin
    {% elsif _user_attributes['customer'] == 'B' %} Operating Margin
    {% else %} Gross Margin
    {% endif %}"
  type: number
  value_format_name: usd
  sql: ${sale_price} - ${inventory_items.cost} ;;
}

Com base no LookML, o campo Margem bruta aparece como Margem operacional em um seletor de campo de análise para o Usuário A.

Com base no LookML, o campo Margem bruta aparece como Margem padrão no seletor de campo "Explorar" do Usuário B.

Esse padrão também pode ser usado para criar uma localização de baixo nível para cada usuário, como demonstrado no próximo exemplo.

Exemplo: nomes de campo personalizados para várias Análises

Este exemplo combina as técnicas dos exemplos anteriores para criar uma Análise com rótulos de campo que variam dependendo da região do usuário.

Neste exemplo, há duas equipes regionais, Finanças Leste e Finanças Oeste, que usam uma Análise detalhada chamada Vendas da empresa. Ambas as equipes precisam usar as medidas Total Profit e Total Revenue nas consultas:

measure: total_profit {
  label: "{{ _explore._name}}: Profit"
  type: sum
  sql: ${profit} ;;
}

measure: total_revenue { label: "{{ _explore._name}}: Revenue" type: sum sql: ${sale_price} ;; value_format_name: usd }

No entanto, cada equipe quer que o nome do campo reflita a região da equipe.

Os desenvolvedores podem fazer com que os nomes dos campos tenham uma aparência para os usuários no Oriente Médio e outra para os usuários no Oeste. Eles podem fazer isso com o LookML DRY usando os seguintes parâmetros Liquid:

  • O parâmetro from especifica a visualização subjacente das Análises.
  • O explore_label é usado para mostrar o mesmo nome nas duas Análises com alias ("Vendas da empresa") com o objetivo de criar uma experiência de exploração idêntica para as duas equipes.
  • Os rótulos das medidas podem ser alterados de acordo com a região de uma equipe usando a variável {{ _explore._name}} do Liquid, que captura e exibe o nome da Análise detalhada.
  • Análises:

    explore: Finance_East{
      from: order_items
      label: "Company Sales"
      view_label: "The Money Zone"
    }
    

    explore: Finance_West{ from: order_items label: "Company Sales" view_label: "The Money Zone" }

    Ao analisar, a equipe de finanças da região leste vai encontrar o campo Lucro total como Finance_East: Lucro e o campo Receita total como Finance_East: Receita.

    Ao analisar, a equipe de finanças da região oeste vai encontrar o campo Lucro total como Finance_West: Lucro e o campo Receita total como Finance_West: Receita.

    Para saber como personalizar a aparência dos campos para os usuários, acesse a página de documentação Como alterar o menu "Explorar" e o seletor de campos.