Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
En esta página se explica cómo funciona la composición en las vistas de métricas y se proporcionan ejemplos que muestran cómo crear lógica mediante la creación de dimensiones, medidas y combinaciones dentro de una sola vista.
Información general
Las vistas de métricas se pueden componer, lo que significa que puede definir lógica superpuesta y reutilizable. En lugar de escribir cada definición desde cero, puede crear nuevas que se basan en las dimensiones y medidas existentes.
Con la composabilidad, puedes:
- Hacer referencia a dimensiones definidas previamente en nuevas dimensiones
- Hacer referencia a cualquier dimensión o medidas definidas previamente en nuevas medidas
- Referencia de columnas de combinaciones definidas en la vista de métricas
La composabilidad le ayuda a evitar la duplicación, simplificar las definiciones de métricas y admitir análisis más complejos sin necesidad de SQL en bruto cada vez.
Componibilidad de métricas
La composición es el principio de crear métricas complejas mediante la reutilización de medidas básicas más sencillas. En lugar de escribir y mantener lógica SQL compleja y anidada para cada KPI derivado, defina las medidas básicas "atómicas" una vez y, a continuación, haga referencia a ellas en otros cálculos más sofisticados. Este enfoque mejora considerablemente la coherencia, la auditabilidad y el mantenimiento de la capa semántica.
La base de la composición es la función MEASURE(), que permite que una definición de medida haga referencia a cualquier otra medida definida dentro de la misma vista de métricas.
Definir medidas con capacidad de composición
La componibilidad se implementa en measures la sección de la vista de las métricas YAML.
| Tipo de medida | Description | Example |
|---|---|---|
| Atómico | Agregación sencilla y directa en una columna de origen. Estos forman los bloques fundamentales. | SUM(o_totalprice) |
| Compuesto | Expresión que combina matemáticamente una o varias medidas usando la función MEASURE(). |
MEASURE(Total Revenue) / MEASURE(Order Count) |
Ejemplo: Valor medio de pedido (AOV)
Para calcular el valor medio del orden (AOV), necesita dos medidas: Total Revenue y 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'
En este ejemplo, si la definición de total_revenue cambia (por ejemplo, si se agrega un filtro para excluir impuestos), avg_order_value hereda automáticamente ese cambio, lo que garantiza que la métrica de AOV permanezca coherente con la nueva regla empresarial.
Composibilidad con lógica condicional
Puede usar la capacidad de composición para crear relaciones complejas, porcentajes condicionales y tasas de crecimiento sin depender de funciones de ventana para cálculos simples de período a período.
Ejemplo: Tasa de cumplimiento
Para calcular la Tasa de cumplimiento (Pedidos cumplidos/Pedidos totales), primero defina la medida para los pedidos completados mediante una 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
Procedimientos recomendados para usar la componibilidad
-
Defina primero las medidas atómicas: Establezca siempre sus medidas fundamentales (
SUM,COUNT,AVG) antes de definir las medidas que las hagan referencia. -
Utilice
MEASURE()para la coherencia: Utilice siempre la funciónMEASURE()al hacer referencia al cálculo de otra medida dentro de unexpr. No intente repetir manualmente la lógica de agregación (por ejemplo, eviteSUM(a) / COUNT(b)si ya existen medidas para el numerador y el denominador). -
Priorice la legibilidad: La
exprmedida compuesta debe leerse como una fórmula matemática para el KPI. Por ejemplo,MEASURE(Gross Profit) / MEASURE(Total Revenue)es más claro y fácil de auditar que una sola expresión SQL compleja. -
Combinar con metadatos semánticos: Después de crear un ratio, use metadatos semánticos (como se muestra en el
fulfillment_rateejemplo) para dar formato automáticamente al resultado como porcentaje o moneda para las herramientas posteriores. Consulte Uso de metadatos semánticos en vistas de métricas.