Elevación explícita

La elevación explícita es una característica del Motor de análisis ampliable de GoodData que le proporciona mayor flexibilidad para agregar métricas en los informes.

En el diagrama del modelo lógico de datos (LDM) que se muestra a continuación, las métricas agregadas a partir del hecho Valor, como SELECT SUM(Value), se pueden agregar mediante cualquiera de los atributos marcados en rojo. Recuerde que estos son los atributos con flechas que apuntan a Valor.

Con la elevación explícita puede cruzar el grano de la agregación mediante la palabra clave BY para bloquear el nivel de agregación en un atributo que de otro modo no podría segmentar una determinada métrica.

En el siguiente ejemplo en el mismo LDM, veamos cómo la elevación explícita permite segmentar la métrica Number of Residents por Shop_ID, incluso si Shop_ID no parece estar relacionado con el hecho Número de residentes.

Esta agregación se describe en mayor detalle en el Ejemplo 1 que se muestra a continuación.

Ejemplo 1: Elevación de un nivel de agregación

La siguiente métrica representa el número total de residentes en una localidad.

SELECT SUM(Number of Residents)

En el LDM del proyecto que se muestra a continuación, puede ver que la métrica Number of Residents se puede segmentar por localidad (Town_ID) o por condado (County).

El informe resultante tiene el siguiente aspecto:

Con la elevación explícita, puede segmentar las métricas por otros atributos que no están directamente relacionados con el hecho fundamental de la métrica. En este caso, por ejemplo, puede modificar la definición para segmentar la métrica Number of Residents por Shop_ID.

SELECT SUM(Number of Residents) BY Shop_ID

El informe muestra ahora el Número de residentes en la localidad en la que se ubican las tiendas. La métrica se agrega en el nivel Town_ID.

Ahora puede comparar la métrica Number of Residents con una métrica que represente los ingresos brutos de cada tienda (por ejemplo, el valor total de todas las transacciones agregadas en el nivel Shop_ID).

Para contar los ingresos brutos, cree la siguiente métrica:

SELECT SUM(Value)

Puede desglosar esta métrica por cualquier atributo relacionado de mayor granularidad (vea los atributos en rojo del primer gráfico, más arriba) agregando dichos atributos en el nivel del informe.

Agregue por ejemplo los atributos County, Town_ID, y Shop_ID al informe. Así podrá buscar correlaciones entre el número de residentes en la localidad en la que se ubica la tienda y los ingresos brutos de cada tienda.

Ejemplo 2: Elevación mediante múltiples niveles de agregación

Con este mismo LDM del Ejemplo 1, puede evaluar a los directores que dirigen las tiendas con más éxito: calcule el valor total de la transacción asociado a cada director de tienda.

Ese Director no está relacionado con el hecho Valor en el LDM. Con la elevación explícita, puede agregar Valor en el nivel de Shop_ID y especificar que dichos valores deberían agregarse en el nivel Registros del empleado. Esto permite segmentar por al atributo Director relacionado con Registros del empleado.

En primer lugar, escriba una métrica que agregue el Valor de las transacciones en el nivel de cada tienda. Esto calcula el valor total de todas las transacciones efectuadas en cada tienda:

SELECT SUM(Value) BY Shop_ID

A continuación, agregue estos valores en el nivel de Registros de empleado.

SELECT ((SELECT SUM(Value) BY Shop_ID)) BY Records of Employee

Por último, agregue la función de agregación MAX para resumir la métrica en el nivel del Director.

SELECT MAX(( SELECT (( SELECT SUM(Value) BY Shop_ID)) BY Records of Employee))

El anidamiento de SELECT alrededor de SUM evita un recuento doble (suponiendo que exista una relación de 1:1 entre los directores y las tiendas). Si la agregación se efectúa con SUM en lugar de con MAX, se multiplicaría cada valor por el número de empleados asignados al director y a la tienda.

Recuerde que si un director gestiona varias tiendas, esta métrica anidada da como resultado un doble recuento de los valores, que es un problema común en las relaciones M:N.

El informe resultante muestra la agregación de los valores de la transacción (el total de ingresos de las transacciones) segmentados por el director de la tienda.

 

Cambie a una visualización diferente para ver quién dirige las tiendas con más rendimiento y los ingresos brutos obtenidos por el director de cada tienda.

Ejemplo 3: Elevación explícita avanzada

También puede contar el tiempo medio que transcurre entre las dos primeras transacciones de un cliente.

Utilice la elevación explícita para bloquear la Fecha de transacción en el nivel de transacción con la palabra clave BY. A continuación, puede calcular la diferencia entre las fechas de transacción para cada comprador. Muestra el período de tiempo para cada comprador, así como el tiempo medio transcurrido entre las transacciones entre todos los compradores.

En primer lugar, debe contar las fechas de las transacciones. Seleccione los valores de fecha de las distintas transacciones, no hace falta ninguna agregación.

SELECT Date (Transaction Date) BY Records of Transaction

A continuación, cree dos métricas que hagan referencia a la métrica elevada Fecha de transacción:

  • Una métrica que filtra las primeras fechas de compra
  • Una métrica que filtra las segundas fechas de compra

 

SELECT MAX(Transaction date lifted) WHERE Purchase Number = 1
SELECT MAX(Transaction date lifted) WHERE Purchase Number = 2

Estas métricas agregan la Fecha de transacción elevada con una función MAX para filtrarla por el número de compra. El motivo es:

  • SUM funciona si solo hay un valor en los datos que se corresponda con tener un Número de compra = 2. Si hay varios valores en los que Número de compra = 2, la métrica hace un recuento doble de los valores.
  • AVG se parece mucho a la intención de la métrica. AVG, sin embargo, tarda más tiempo en calcularse.

Por último, cree una métrica que calcule la diferencia entre las métricas de la fecha de compra. Después puede desglosar el resultado final por Comprador, que es el atributo en el nivel del informe.

SELECT AVG(Second purchase date - First purchase date)

El informe resultante muestra la duración entre la primera y la segunda visita desglosada por el atributo Comprador.

Se agrega la métrica Total Value al informe (SELECT SUM(Value)) para buscar correlaciones en duración entre las transacciones iniciales y el importe total enviado.

Para encontrar la duración promedio entre las dos primeras transacciones en todos los compradores, modifique la métrica y quite todos los atributos del informe:

SELECT AVG((SELECT Second purchase date - First purchase date BY Shopper))

 

Average duration across all shoppers