Tanto si se trata de una necesidad personal de entender su patrón de gasto a partir de las transacciones bancarias, como si se trata de mejorar el rendimiento de las ventas en su organización mediante el análisis de las actividades de ventas, los conocimientos reales sólo son visibles con la agregación y el resumen adicionales de los datos a nivel transaccional. El RDBMS tradicional proporciona esta capacidad a través del poder expresivo de la agregación SQL. Las funciones de ventana se añadieron al estándar ANSI SQL para ampliar aún más la capacidad de expresar preguntas más complejas con el constructo SQL.

Couchbase N1QL ahora soporta las funciones de ventana y la expresión de tabla común (CTE) en su versión 6.5. Los desarrolladores pueden ampliar sus aplicaciones para satisfacer casos de uso empresarial más complejos, además de permitir a los analistas de datos obtener las respuestas que necesitan sin necesidad de realizar un posprocesamiento adicional en Excel.

En este artículo me centraré en un par de ejemplos sobre cómo puede aprovechar las funciones de ventana N1QL y CTE para abordar dos preguntas de negocio muy comunes.

Duración de las actividades de venta por cliente

En este primer ejemplo para un sistema de gestión de la actividad de ventas, queremos proporcionar un informe que muestre la cantidad de tiempo que el equipo de ventas ha pasado trabajando con sus clientes durante enero-2019. Desglosaré la consulta en dos pasos:

1) Obtener una lista de las reuniones y la duración de las mismas que el equipo de ventas ha realizado con sus clientes. El tiempo total empleado para todos los clientes 'tiempo_total_empleado' se calcula sumando la duración de las citas con una cláusula OVER () vacía, que realizará la suma para todo el conjunto de resultados. El tiempo total empleado por cliente 'tiempo_cuenta_empleado' utiliza la misma construcción, pero con 'accid' para la cláusula PARTITION.

2) A continuación, utilice las dos métricas para obtener el porcentaje del tiempo total que el equipo dedicó a cada cliente.

Actividades de venta mes a mes

En este segundo ejemplo, la consulta muestra cómo ha cambiado el número de tareas relacionadas con las ventas mes a mes para el año 2018. La consulta aprovecha la función CTE de N1QL para mejorar la legibilidad de la consulta, y también la función de ventana LAG para obtener el recuento de tareas del periodo anterior.

  1. El primer CTE - 'current_period_task' define la consulta para recuperar un recuento de todas las actividades de tipo Task agrupadas por el mes natural.
  2. El segundo CTE - 'last_period_task' lee del primer CTE, y también aprovecha la función de ventana LAG para devolver el recuento de tareas del mes anterior. Tenga en cuenta que la cláusula ORDER BY es fundamental para que la función LAG funcione.
  3. La consulta principal lee del segundo CTE - 'last_period_task' y deriva el cálculo mes a mes.

 

Recursos

Nos encantaría que nos dijera qué le han parecido las funciones de la versión 6.5 y en qué beneficiarán a su empresa en el futuro. Por favor, comparta su opinión a través de los comentarios o en el foro.

 

Autor

Publicado por Binh Le

Binh Le es director de producto principal del servicio de consultas de Couchbase. Antes de Couchbase, trabajó en Oracle y dirigió el equipo de gestión de productos para Sales Clould Analytics y CRM OnDemand. Binh es licenciado en Informática por la Universidad de Brighton, Reino Unido.

Dejar una respuesta