Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Esta página explica como a capacidade de composição funciona em exibições métricas e fornece exemplos que mostram como compor lógica com base em dimensões, medidas e junções em uma única exibição.
Visão geral
As visualizações métricas são compostáveis, o que significa que você pode definir lógica em camadas e reutilizável. Em vez de escrever todas as definições do zero, você pode criar novas que se baseiam em dimensões e medidas existentes.
Com a composabilidade, podes:
- Referenciar dimensões previamente definidas em novas dimensões
- Fazer referência a qualquer dimensão ou medidas previamente definidas em novas medidas
- Colunas de referência de junções definidas na visualização métrica
A capacidade de composição ajuda a evitar duplicações, simplificar definições de métricas e dar suporte a análises mais complexas sem exigir SQL bruto a cada vez.
Composição métrica
A composabilidade é o princípio da construção de métricas complexas reutilizando medidas mais simples e fundamentais. Em vez de escrever e manter lógica SQL complexa e aninhada para cada KPI derivado, você define as medidas "atômicas" fundamentais uma vez e, em seguida, utiliza essas medidas como referência em outros cálculos mais sofisticados. Essa abordagem melhora drasticamente a consistência, a auditabilidade e a manutenção da camada semântica.
A base da composabilidade é a MEASURE() função, que permite que uma definição de medida faça referência a qualquer outra medida definida dentro da mesma visão métrica.
Definir medidas com composabilidade
A composibilidade é implementada na secção measures da visualização métrica YAML.
| Tipo de medida | Description | Example |
|---|---|---|
| Atômico | Uma agregação simples e direta em uma coluna de origem. Estes formam os blocos de construção. | SUM(o_totalprice) |
| Composto | Uma expressão que combina matematicamente uma ou mais outras medidas usando a MEASURE() função. |
MEASURE(Total Revenue) / MEASURE(Order Count) |
Exemplo: Valor Médio do Pedido (AOV)
Para calcular o Valor Médio do Pedido (AOV), 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 mudar (por exemplo, se um filtro para excluir impostos for adicionado), o avg_order_value herdará automaticamente essa alteração, garantindo que a métrica do AOV permaneça consistente com a nova regra de negócios.
Composabilidade com lógica condicional
Você pode usar a capacidade de composição 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 Cumprimento
Para calcular a Taxa de Atendimento (Pedidos Atendidos / Total de Pedidos), primeiro defina a medida para pedidos concluídos usando uma FILTER cláusula.
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
Práticas recomendadas para o uso da capacidade de composição
-
Defina primeiro as medidas atómicas: Estabeleça sempre as suas medidas fundamentais (
SUM,COUNT,AVG) antes de definir quaisquer medidas que as referenciam. -
Use
MEASURE()para consistência: sempre use a função ao referenciar oMEASURE()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 já existirem medidas para o numerador e o denominador). -
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 mais fácil de auditar do que uma única expressão SQL complexa. -
Combinar com metadados semânticos: Depois de compor uma proporção, use metadados semânticos
fulfillment_rate(como mostrado no exemplo) para formatar automaticamente o resultado como uma porcentagem ou moeda para ferramentas downstream. Consulte Usar metadados semânticos em exibições métricas.