Haz lo que sea necesario para presentar los datos y facilitar el análisis y la reflexión. - Edward Tufte
¿Cómo se crean gráficos de este tipo si no se dispone de una herramienta de visualización de datos?
Puede ejecutar consultas para manejar los datos y obtener los resultados. A menudo se desea presentar los datos visualmente en gráficos circulares, gráficos de burbujas, histogramas y gráficos de líneas. Si tienes Tableau, Cognos, etc., es más fácil visualizarlos. Si no, tendrás que copiar los resultados en google sheets o excel. Cortar y pegar los resultados a google sheets es difícil, debido a problemas de formato, encabezado de filas, etc. Sin embargo, Couchbase Query Workbench lo hace fácil. Junto a los resultados de la consulta, tenemos un copia que copia el resultado en un formato tabular que puede pegar en hojas de cálculo como Google Sheets, Excel, etc. Esta función está disponible tanto en el banco de trabajo de consultas como en el banco de trabajo de consultas analíticas.
Veamos algunos datos y gráficos de ejemplo.
- Calcular los tipos de documentos y su recuento.
Esta es la consulta sobre el conjunto de datos travel-sample suministrado con Couchbase. Haz clic en la imagen para ver la animación GIF.
1 2 3 4 5 6 7 |
SELECCIONE tipo, CONTAR(1) typecount DESDE Viajar-muestra GRUPO POR tipo ORDENAR POR typecount |
1 2 3 4 5 6 7 8 |
tipo typecount "aerolínea" 187 "hotel" 917 "aeropuerto" 1968 "hito" 4495 "ruta" 24024 |
Este es el gráfico de sectores creado para los datos. Puede personalizarse fácilmente en cuanto a colores, visualización de datos, etiquetas y leyendas.
Haz clic en la imagen para ver la animación GIF sobre cómo llevar los resultados a google sheets para obtener los gráficos en un segundo.
2. Tarea: Encontrar las 10 ciudades con mayor número de hoteles.
1 2 3 4 5 6 7 8 9 10 11 |
SELECCIONE país, ciudad, CONTAR(1) hotelcount DESDE Viajar-muestra DONDE tipo = hotel GRUPO POR país, ciudad ORDENAR POR hotelcount DESC LÍMITE 10 |
Resultados:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ciudad país hotelcount "San Francisco" "Estados Unidos" 132 "Londres" "Reino Unido" 67 "París" "Francia 64 "San Diego" "Estados Unidos" 48 "Birmingham" "Reino Unido" 36 "Los Angeles" "Estados Unidos" 35 "Reino Unido" 23 "Santa Monica" "Estados Unidos" 14 "Malibú" "Estados Unidos" 12 "Edimburgo" "Reino Unido" 10 |
La única personalización del histograma consiste en añadir las etiquetas de datos para mostrar el número real de hoteles.
2. Tarea: Encontrar las 5 ciudades con mayor número de hoteles con "jardines" en la reseña.
1 2 3 4 5 6 7 8 9 10 |
SELECCIONE ciudad, CONTAR(1) hotelcount DESDE Viajar-muestra DONDE tipo = hotel Y CUALQUIER r EN reseñas SATISFACE search(r.content, "jardín") FIN GRUPO POR ciudad ORDENAR POR hotelcount DESC LÍMITE 5; |
1 2 3 4 5 6 |
ciudad hotelcount "París" 10 5 "San Francisco" 5 "San Diego" 4 "Edimburgo" 3 |
Basta con elegir el "gráfico de rosquillas" y añadir las etiquetas.
6. Los gráficos de burbujas requieren que cree el valor porcentual de cada fila. La función de ventana RATIO_TO_REPORT() te ayudarán a hacerlo fácilmente. Una vez que tengas tu consulta, crear una burbuja
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SELECCIONE país, ciudad, SUM(ARRAY_SUM(opiniones[*].valoraciones[*].Localización)) / CONTAR(1) ciudad_avglocation, SUM(ARRAY_SUM(opiniones[*].valoraciones[*].servicio)) / CONTAR(1) servicio_ciudad_avgs, RATIO_TO_REPORT(CONTAR(1)) OVER(partición por país) * 100 ratio_val, (TO_STR(RONDA(RATIO_TO_REPORT(CONTAR(1)) OVER(partición por país) * 100, 0)) || "%" ) AS ratio_percent DESDE Viajar-muestra DONDE tipo = hotel grupo por país, ciudad pedir por ratio_val desc, servicio_ciudad_avgs desc, valor_avg ciudad desc LÍMITE 10 |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ciudad ciudad_avglocation servicio_ciudad_avgs país ratio_percent relación_val "París" 13.75 15.421875 "Francia "46%" 45.714285714285715 "San Francisco" 15.583333333333334 16.71969696969697 "Estados Unidos" "37%" 36.56509695290859 "Londres" 11.567164179104477 15.746268656716419 "Reino Unido" "16%" 16.105769230769234 "San Diego" 15.583333333333334 16.729166666666668 "Estados Unidos" "13%" 13.29639889196676 "Los Angeles" 11.971428571428572 12.628571428571428 "Estados Unidos" "10%" 9.695290858725762 "Birmingham" 14.666666666666666 18.083333333333332 "Reino Unido" "9%" 8.653846153846153 "Avignon" 10.375 13.375 "Francia "6%" 5.714285714285714 16.91304347826087 17.782608695652176 "Reino Unido" "6%" 5.528846153846153 "Chamonix-Mont-Blanc" 18 29.142857142857142 "Francia "5%" 5 "Nice" 11.571428571428571 15 "Francia "5%" 5 |

Gráfico de burbujas que muestra la valoración media por ubicación, etc. El tamaño de la burbuja muestra el %ge de hoteles representados dentro del país respectivo.
Este GIF animado muestra cómo crear este gráfico.
7. La creación de gráficos geográficos es bastante fácil en google charts, ya que reconoce los países y las ciudades. No es necesario tratar con latlongs.
1 2 3 4 5 |
Seleccione país, cuente(1) número_hoteles de `viaje-muestra` donde tipo = aerolínea |
1 2 3 4 5 6 |
país num_hoteles "Estados Unidos" 127 "Reino Unido" 39 "Francia 21 |
Con los datos anteriores, basta con pegarlos en una hoja de Google y crear un gráfico geográfico.
8. También puede crear un geo gráfico con marcadores (burbujas proporcionales), de nuevo, utilizando las funciones de ventana RATIO_TO_REPORT().
1 2 3 4 5 6 7 8 |
SELECCIONE país, CONTAR(1) AS número_hoteles, (TOSTR(RONDA(RATIO_TO_REPORT(CONTAR(1)) EN () * 100,0)) || "%") AS hoteles_porcentaje DESDE `viaje-muestra` DONDE tipo = hotel GRUPO POR país; |
1 2 3 4 5 6 |
país hoteles_porcentaje num_hoteles "Reino Unido" "45%" 416 "Francia "15%" 140 "Estados Unidos" "39%" 361 |
También puede personalizar los gráficos según la región, por ejemplo, Estados Unidos.
Por último, la consulta para generar el primer gráfico de este blog:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECCIONE país, ciudad, SUM(SUMA_ARRAY(reseñas[*].clasificaciones[*].Ubicación)) / CONTAR(1) ciudad_avglocation, SUM(SUMA_ARRAY(reseñas[*].clasificaciones[*].Servicio)) / CONTAR(1) servicio_ciudad_avgs, SUM(SUMA_ARRAY(reseñas[*].clasificaciones[*].En general)) / CONTAR(1) city_avgoverall, SUM(SUMA_ARRAY(reseñas[*].clasificaciones[*].Habitaciones)) / CONTAR(1) city_avgrooms, SUM(SUMA_ARRAY(reseñas[*].clasificaciones[*].`Valor`)) / CONTAR(1) valor_avg ciudad DESDE `viaje-muestra` DONDE tipo = hotel grupo por país, ciudad pedir por servicio_ciudad_avgs desc, valor_avg ciudad desc LÍMITE 50 |