Comparteix via


Datos de la vista de métricas del modelo

En esta página se describe cómo modelar vistas de métricas y procedimientos recomendados para trabajar con ellas.

Las vistas de métricas ayudan a crear una capa semántica para los datos, lo que transforma las tablas sin procesar en métricas estandarizadas y fáciles de usar para la empresa. Definen qué medir, cómo agregarlo y cómo segmentarlo, lo que garantiza que todos los usuarios de la organización notifiquen el mismo número para el mismo indicador clave de rendimiento (KPI). El objetivo es crear una única fuente de verdad para las métricas empresariales.

Al modelar los datos como vistas de métricas, abstrae problemas complejos de SQL, estructuras de tabla y calidad de datos, lo que permite a los analistas centrarse exclusivamente en el análisis.

Componentes principales

El modelado de una vista de métrica implica definir los siguientes elementos sobre los datos de origen:

Componente Description Example
Fuente Tabla base, vista o consulta SQL que contiene los datos transaccionales sin procesar. samples.tpch.orders
Dimensiones Atributos de columna usados para segmentar o agrupar las métricas Categoría del producto, Mes de pedido, Región del cliente
Medidas Agregaciones de columnas que generan las métricas. Estas medidas son las que normalmente se reportan. COUNT(o_order_id) como Recuento de pedidos, SUM(o_total_price) como Ingresos totales.
Filtros Condiciones persistentes aplicadas a los datos de origen para definir el ámbito.
  • status = 'completed'
  • order_date > '2024-01-01'

Definición de un origen

Puede usar un recurso similar a una tabla o una consulta SQL como origen de la vista de métricas. Para usar un recurso similar a una tabla, debe tener al menos SELECT privilegios en el recurso.

Uso de una tabla como origen

Para usar una tabla como origen, incluya el nombre completo de la tabla, como en el ejemplo siguiente.

source: samples.tpch.orders

Uso de una consulta SQL como origen

Para usar una consulta SQL, escriba el texto de la consulta directamente en YAML.

source: SELECT * FROM samples.tpch.orders o
  LEFT JOIN samples.tpch.customer c
  ON o.o_custkey = c.c_custkey

Nota:

Cuando se usa una consulta SQL como origen con una JOIN cláusula , Databricks recomienda establecer restricciones de clave principal y externa en tablas subyacentes y usar la RELY opción para un rendimiento óptimo en el momento de la consulta, si procede. Para obtener más información sobre el uso de restricciones de clave principal y externa, vea Declarar relaciones de clave principal y clave externa y optimización de consultas mediante restricciones de clave principal.

Uso de la vista de métricas como origen

También puede usar una vista de métrica existente como origen para una nueva vista de métricas:

version: 1.1
source: views.examples.source_metric_view

dimensions:
  # Dimension referencing dimension from source_metric_view
  - name: Order date
    expr: order_date_dim

measures:
  # Measure referencing dimension from source_metric_view
  - name: Latest order month
    expr: MAX(order_date_dim_month)

  # Measure referencing measure from source_metric_view
  - name: Latest order year
    expr: DATE_TRUNC('year', MEASURE(max_order_date_measure))

Cuando se usa una vista de métrica como origen, se aplican las mismas reglas de composición para hacer referencia a dimensiones y medidas. Consulte Composabilidad.

Dimensiones

Las dimensiones son columnas utilizadas en las cláusulas SELECT, WHERE y GROUP BY en el momento de la consulta. Cada expresión debe devolver un valor escalar. Las dimensiones se definen como una matriz. Cada dimensión consta de dos componentes:

  • name: alias de la columna.

  • expr: expresión SQL en los datos de origen que define la dimensión o una dimensión definida previamente en la vista de métricas.

Nota:

A partir de la versión 1.1, también puede definir metadatos semánticos (nombre para mostrar, formato y sinónimos) para cada dimensión. Consulte Uso de metadatos semánticos en vistas de métricas para obtener más información.

Medidas

Las medidas son columnas definidas como una matriz de expresiones que generan resultados sin un nivel predeterminado de agregación. Deben expresarse mediante funciones de agregado. Para hacer referencia a una medida en una consulta, debe usar la MEASURE función . Las medidas pueden hacer referencia a campos base en los datos de origen o en dimensiones definidas anteriormente. Cada medida consta de los siguientes componentes:

  • name: alias de la medida.

  • expr: expresión SQL agregada que puede incluir funciones de agregado de SQL.

En el ejemplo siguiente se muestran patrones de medida comunes:

measures:
  # Simple count measure
  - name: Order Count
    expr: COUNT(1)

  # Sum aggregation measure
  - name: Total Revenue
    expr: SUM(o_totalprice)

  # Distinct count measure
  - name: Unique Customers
    expr: COUNT(DISTINCT o_custkey)

  # Calculated measure combining multiple aggregations
  - name: Average Order Value
    expr: SUM(o_totalprice) / COUNT(DISTINCT o_orderkey)

  # Filtered measure with WHERE condition
  - name: High Priority Order Revenue
    expr: SUM(o_totalprice) FILTER (WHERE o_orderpriority = '1-URGENT')

  # Measure using a dimension
  - name: Average Revenue per Month
    expr: SUM(o_totalprice) / COUNT(DISTINCT DATE_TRUNC('MONTH', o_orderdate))

Consulte Funciones de agregado para obtener una lista de funciones de agregado.

Consulte la measure función de agregación.

Nota:

A partir de la versión 1.1, también puede definir metadatos semánticos (nombre para mostrar, formato y sinónimos) para cada medida. Consulte Uso de metadatos semánticos en vistas de métricas para obtener más información.

Aplicar filtros

Un filtro en la definición de YAML de una vista de métrica se aplica a todas las consultas que hacen referencia a ella. Debe escribirse como una expresión booleana de SQL y equivale a usar una WHERE cláusula en una consulta SQL.

En el ejemplo siguiente se muestran patrones de filtro comunes:

# Single condition filter
filter: o_orderdate > '2024-01-01'

# Multiple conditions with AND
filter: o_orderdate > '2024-01-01' AND o_orderstatus = 'F'

# Multiple conditions with OR
filter: o_orderpriority = '1-URGENT' OR o_orderpriority = '2-HIGH'

# Complex filter with IN clause
filter: o_orderstatus IN ('F', 'P') AND o_orderdate >= '2024-01-01'

# Filter with NOT
filter: o_orderstatus != 'O' AND o_totalprice > 1000.00

# Filter with LIKE pattern matching
filter: o_comment LIKE '%express%' AND o_orderdate > '2024-01-01'

También puede agregar filtros al consultar o consumir vistas de métricas.

Funcionalidades avanzadas de modelado

El modelado de vistas de métricas admite técnicas avanzadas para crear métricas sofisticadas y muy reutilizables.

Se une

Las combinaciones permiten enriquecer la vista de métricas con atributos descriptivos de tablas relacionadas. Puede usar uniones para modelar las relaciones de la tabla de hechos a las tablas de dimensiones (esquema de estrella) y recorrer desde dimensiones hasta subdimensiones, lo que permite uniones de varios niveles entre tablas de dimensiones normalizadas (esquema de copo de nieve).

Consulte Uso de combinaciones en vistas de métricas.

Medidas de Windows

Importante

Esta característica es Experimental.

Las medidas de Windows le permiten definir medidas con agregaciones ventana, acumulativas o semiaditivas en sus vistas de métricas. Estos tipos de medidas permiten cálculos más complejos, como medias móviles, cambios de período a período y totales en ejecución. Consulte Uso de medidas de ventana en vistas de métricas para ver ejemplos que muestran cómo usar medidas de ventana en vistas de métricas.

Capacidad de composición

Las vistas de métricas se pueden componer, lo que permite crear lógica compleja haciendo referencia a elementos previamente definidos. Puede hacer referencia a dimensiones definidas previamente en nuevas dimensiones, hacer referencia a cualquier dimensión o medidas definidas previamente en nuevas medidas y hacer referencia a columnas de combinaciones definidas en la vista de métricas.

Consulte Componibilidad en vistas de métricas.

Metadatos semánticos

Los metadatos semánticos ayudan a las herramientas de consumo a comprender cómo mostrar y gestionar medidas y dimensiones. Esto incluye propiedades como:

Metadatos semánticos Example
Nombres para mostrar Total Revenue en lugar de sum_o_price.
Formato de presentación Estandarizar el formato de moneda, porcentajes y fechas.
Comentarios Explicar la definición de negocio de la métrica en lenguaje natural.

Al definir metadatos semánticos, estos viajan junto con la métrica. Por ejemplo, cuando los analistas usan Ingresos totales en un panel, se muestra automáticamente como moneda.

Consulte Uso de metadatos semánticos en vistas de métricas.

Sintaxis y formato de YAML

Las definiciones de la vista métrica siguen la sintaxis de notación YAML estándar. Consulte Referencia de sintaxis de YAML para obtener información sobre la sintaxis y el formato necesarios para definir una vista de métrica. Consulte la documentación de YAML Specification 1.2.2 para obtener más información sobre las especificaciones de YAML.

Medidas de ventana

Las medidas de ventana calculan un valor sobre una ventana definida o un intervalo de filas relacionadas con la fila actual. Puede usar medidas de ventana para la serie temporal y el análisis comparativo, lo que le permite definir métricas como:

  • Ingresos totales de 30 días graduales: suma de ingresos en los últimos 30 días
  • Ingresos del año hasta la fecha (YTD): suma acumulativa desde el inicio del año
  • Comparación del período anterior: Ingresos del mes anterior

Consulte Uso de medidas de ventana en vistas de métricas.

Procedimientos recomendados para modelar vistas de métricas

Use las instrucciones siguientes al modelar vistas de métricas:

  • Medidas atómicas del modelo: comience definiendo primero las medidas más sencillas y no calculadas (por ejemplo, SUM(revenue), COUNT(DISTINCT customer_id)). Cree medidas complejas (como AOV) usando composabilidad.
  • Estandarizar valores de dimensión: use transformaciones (como CASE instrucciones o expresiones) para convertir códigos de base de datos crípticos en nombres de negocio claros (por ejemplo, convertir el estado de pedido "O" en "Abrir" y "F" en "Cumplido").
  • Definir ámbito con filtros: sea intencional con los filtros persistentes. Si una vista de métrica solo debe incluir pedidos completados, defina ese filtro en la vista de métricas para que los usuarios no puedan incluir accidentalmente datos incompletos.
  • Use nombres empresariales claros: los nombres de métricas deben ser reconocibles inmediatamente para los usuarios empresariales (por ejemplo, Valor de Vida del Cliente frente a cltv_agg_measure).
  • Dimensiones de tiempo independientes: incluya siempre dimensiones de tiempo granulares (como Fecha de pedido) y dimensiones de tiempo truncadas (como Order Month o Order Week) para admitir análisis de tendencias y nivel de detalle.