Las funciones de análisis de datos de Couchbase son ahora más potentes con la versión 7.0.
Estoy emocionado de anunciar dos nuevas y poderosas capacidades ahora disponibles como parte de Couchbase Analytics: 1) el CUBO y 2) ROLLUP agregación, ambos para ayudarle a agregar datos a través de múltiples atributos del documento.
La adición del CUBO funcionalidad de extensión a el servicio Couchbase Analytics forma parte de la versión 7.0 de Couchbase Server. (Cubrimos el ROLLUP funcionalidad en un artículo de la semana pasada).
Un ejemplo de la nueva funcionalidad CUBE
Como en SQL, la capacidad de agregación CUBE es una extensión de la cláusula GROUP BY.
La subcláusula de extensión CUBE permite generar subtotales para todas las combinaciones de columnas de agrupación especificadas en la cláusula GROUP BY. En concreto, el resultado incluye filas adicionales que representan subtotales en sus datos -comúnmente denominadas filas superagregadas- junto con la fila habitual del total general.
Por ejemplo, supongamos que tiene una colección de análisis de muestra llamada Pedidos que realiza un seguimiento de la información de comercio electrónico. Los elementos de datos clave que más le interesan son región/estado, fecha de pedido, cantidad y precio. (Y digamos que calcula Ventas como Ventas = cantidad * precio).
A continuación se muestra una muestra de los datos de comercio electrónico para nuestro ejemplo:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "fechapedido": "2020-11-30", "región": "California", "cantidad": 5, "precio": 596.37 }, { "fechapedido": "2020-05-08", "región": "California", "cantidad": 3, "precio": 814.69 }, { "fechapedido": "2020-03-17", "región": "Connecticut", "cantidad": 2, "precio": 270.04 }, { "fechapedido": "2020-03-11", "región": "Colorado", "cantidad": 4, "precio": 795.73 } |
Supongamos que a los usuarios de su empresa les gustaría saber lo siguiente a partir de los datos de su comercio electrónico:
1) Ventas totales de todos los años por región
2) Ventas totales de todas las regiones por año
3) Ventas totales de cada región por año
4) Ventas totales de todas las regiones y todos los años
La extensión CUBE es un buen caso de uso para responder a estas preguntas de análisis de datos basados en la agregación. Su ingeniero de datos o analista de datos simplemente utiliza la consulta N1QL que se muestra a continuación dentro del servicio Couchbase Analytics.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
-- Genera cuatro agrupación establece: -- 1. Todos Región & Todos Años (Gran Total) -- 2. Todos Regiones, Año -- 3. Todos Años, Región -- 4. Región, Año SELECCIONE IFNULL(región,"Todas las regiones) Región, IFNULL(año, "Todos los años") Año, RONDA(SUM(o.Cantidad o.precio),0) Ventas DESDE pedidos o LET año = DATE_PART_STR(o.fechapedido, "año"), región = o.región GRUPO POR CUBO(región, año) PEDIR POR región, año |
En la consulta N1QL anterior, hemos utilizado año y región como variables por comodidad. Como resultado, CUBO(región, año) genera los siguientes resultados de consulta para nuestros datos de muestra:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
{ "Región: "Todas las regiones, "Año": "Todos los años", "Ventas": 3372854458}, { "Región: "Todas las regiones, "Año": 2020, "Ventas": 3371122342}, { "Región: "Todas las regiones, "Año": 2021, "Ventas": 1732116}, { "Año": "Todos los años", "Región: "Alabama", "Ventas": 66383297}, { "Año": "Todos los años", "Región: "California", "Ventas": 66108045}, { "Región: "California", "Año": 2020, "Ventas": 66053233}, ... |
Tenga en cuenta que el resultado es exactamente lo que sus usuarios buscaban en un principio:
- En la parte superior de los resultados, un total general muestra las ventas totales de todos los años y regiones. En el resultado de la consulta, el
NULLen los atributos de país y región se transforman en "Todos los años" y "Todas las regiones", respectivamente, para que el resultado sea más legible. - A continuación, verá el resultado de otro subtotal que resume Todas las regiones por cada Año, por ejemplo, 2020 y 2021, mostrando las ventas totales. En estos campos JSON, los valores en el campo
regiónse transforman deNULLa "Todas las regiones". - A continuación, vemos otro resumen subtotal para "Todos los años" que muestra las ventas totales de cada región, por ejemplo, Alabama y California. En estos campos, los valores de
regiónse transforman deNULLa "Todas las regiones". - Por último, el resultado muestra las ventas totales de cada región para cada año. En este ejemplo, las ventas de California para el año 2020
Conclusión
Espero que estés entusiasmado con esta nueva capacidad de agregación CUBE que extiende las poderosas expresiones analíticas disponibles para ti en Couchbase Analytics. Para más información, consulte el CUBO documentación. Espero que esta nueva capacidad le resulte útil para futuros proyectos de análisis de datos en su empresa.
Estoy deseando sus comentarios en los foros de Couchbase - ¡Háganos saber lo que piensa!
Descargar Couchbase hoy