Pular para o conteúdo principal

Componibilidade na visão métrica

Esta página explica como a componibilidade funciona na exibição de métricas e fornece exemplos que mostram como compor lógica com base em dimensões, medidas e junções em uma única view.

Visão geral

As visualizações de métricas são componíveis, o que significa que você pode definir uma lógica em camadas e reutilizável. Em vez de escrever todas as definições do zero, você pode criar novas que se baseiem em dimensões e medidas existentes.

Com a componibilidade, você pode:

  • Referenciar dimensões previamente definidas em novas dimensões
  • Faça referência a qualquer dimensão ou medidas previamente definidas em novas medidas
  • Colunas de referência da junção definida na viewde métricas

A componibilidade ajuda a evitar duplicação, otimizar definições de métricas e oferecer suporte a análises mais complexas sem precisar de SQL bruto todas as vezes.

métricas componibilidade

Componibilidade é o princípio de construção de métricas complexas por meio da reutilização de medidas mais simples e fundamentais. Em vez de escrever e manter lógica SQL complexa e aninhada para cada KPI derivado, você define as principais medidas "atômicas" uma vez e depois as referencia em outros cálculos mais sofisticados. Essa abordagem melhora drasticamente a consistência , a auditabilidade e a manutenção da sua camada semântica.

A base da componibilidade é a função MEASURE() , que permite que uma definição de medida faça referência a qualquer outra medida definida dentro da mesma view de métricas.

Definir medidas com componibilidade

A componibilidade é implementada na seção measures da view métricas YAML.

Tipo de medida

Descrição

Exemplo

Atômico

Uma agregação simples e direta em uma coluna de origem. Eles formam os blocos de construção.

SUM(o_totalprice)

Composto

Uma expressão que combina matematicamente uma ou mais outras medidas usando a função MEASURE() .

MEASURE(Total Revenue) / MEASURE(Order Count)

Exemplo: Valor Médio do Pedido (MVP)

Para calcular o Valor Médio do Pedido (VMP) , você precisa de duas medidas: Total Revenue e Order Count.

YAML
source: samples.tpch.orders

measures:
# Total Revenue
- name: total_revenue
expr: SUM(o_totalprice)
comment: The gross total value of all orders.
display_name: 'Total Revenue'

# Order Count
- name: order_count
expr: COUNT(1)
comment: The total number of line items or orders.
display_name: 'Order Count'

# Composed Measure: Average Order Value (AOV)
- name: avg_order_value
# Defines AOV as Total Revenue divided by Order Count
expr: MEASURE(total_revenue) / MEASURE(order_count)
comment: Total revenue divided by the number of orders.
display_name: 'Avg Order Value'

Neste exemplo, se a definição de total_revenue for alterada (por exemplo, se um filtro para excluir impostos for adicionado), o avg_order_value herdará automaticamente essa alteração, garantindo que a métrica AOV permaneça consistente com a nova regra de negócios.

Componibilidade com lógica condicional

Você pode usar a componibilidade para criar proporções complexas, porcentagens condicionais e taxas de crescimento sem depender de funções de janela para cálculos simples de período a período.

Exemplo: Taxa de Atendimento

Para calcular a Taxa de Atendimento (Pedidos Atendidos / Total de Pedidos), primeiro defina a medida para pedidos concluídos usando uma cláusula FILTER .

YAML
source: samples.tpch.orders

measures:
# Total Orders (denominator)
- name: total_orders
expr: COUNT(1)
comment: Total volume of orders regardless of status.

# Fulfilled Orders (numerator)
- name: fulfilled_orders
expr: COUNT(1) FILTER (WHERE o_orderstatus = 'F')
comment: Only includes orders marked as fulfilled.

# Composed Measure: Fulfillment Rate (Ratio)
- name: fulfillment_rate
expr: MEASURE(fulfilled_orders) / MEASURE(total_orders)
display_name: 'Order Fulfillment Rate'
format:
type: percentage # Using semantic metadata to format as a percent

Melhores práticas para usar a componibilidade

  1. Defina primeiro as medidas atômicas: sempre estabeleça suas medidas fundamentais (SUM, COUNT, AVG) antes de definir quaisquer medidas que as referenciem.
  2. Use MEASURE() para consistência: sempre use a função MEASURE() ao referenciar o cálculo de outra medida dentro de um expr. Não tente repetir manualmente a lógica de agregação (por exemplo, evite SUM(a) / COUNT(b) se medidas para o numerador e o denominador já existirem).
  3. Priorize a legibilidade: o expr para uma medida composta deve ser lido como uma fórmula matemática para o KPI. Por exemplo, MEASURE(Gross Profit) / MEASURE(Total Revenue) é mais claro e fácil de auditar do que uma única expressão SQL complexa.
  4. Combine com metadados semânticos: depois de compor uma proporção, use metadados semânticos (como mostrado no exemplo fulfillment_rate ) para formatar automaticamente o resultado como uma porcentagem ou moeda para ferramentas posteriores. Consulte Usar metadados semânticos na exibição de métricas.