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. |
|
Composto | Uma expressão que combina matematicamente uma ou mais outras medidas usando a função |
|
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.
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 .
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
- Defina primeiro as medidas atômicas: sempre estabeleça suas medidas fundamentais (
SUM,COUNT,AVG) antes de definir quaisquer medidas que as referenciem. - Use
MEASURE()para consistência: sempre use a funçãoMEASURE()ao referenciar o cálculo de outra medida dentro de umexpr. Não tente repetir manualmente a lógica de agregação (por exemplo, eviteSUM(a) / COUNT(b)se medidas para o numerador e o denominador já existirem). - Priorize a legibilidade: o
exprpara 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. - 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.