es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dividir date_start y date_end por horas en Metabase.

Tengo una tabla con una columna “Comienzo en” y otra columna “Fin en” que representan cuándo comienza una tarea y cuándo termina una tarea. Me gustaría tener una barra de visualización que muestre la cantidad de tareas que se están realizando en una hora específica a lo largo de un intervalo de tiempo.

Por ejemplo, de la siguiente tabla:

[Imagen de la tabla]

Me gustaría poder ver que desde el 07/12/2021 21:00 hasta el 07/12/2021 22:00 se realizaron 3 tareas (fila 1, fila 2, fila 3).

Y también, como tendré varias miles de filas, me gustaría usar el widget de fecha de Metabase para especificar el rango de tiempos.

He estado luchando con esto desde la semana pasada, intenté crear preguntas auxiliares para hacer consultas después, pero finalmente solo pude codificar las 24 horas de un día, pero luego no pude usar el widget de tiempo y tuve que especificar las fechas manualmente en la consulta SQL cada vez que quiero verificar un día específico, y también solo pude verificar desde las 24 hasta las 24 horas, no por ejemplo, desde el 02/12/2021 6:00 hasta el 04/12/2021 18:00.

Mi Metabase se ejecuta en una base de datos PostgreSQL. ¿Es esto posible en Metabase? Si no, ¿cuáles son sus consejos para construir esto? ¿Otras plataformas? ¿SQL puro? ¿Python?

Muchas gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Mostrando la cantidad de tareas realizadas en una hora específica a lo largo de un intervalo de tiempo con una visualización de barras en Metabase

    Para lograr esto, puedes utilizar el widget de Fecha/Hora de Metabase para crear una consulta personalizada. Aquí tienes un ejemplo de consulta que puedes utilizar:

    SELECT DATE_TRUNC('hour', "Inicio En") AS "Hora de inicio",
           COUNT(*) AS "Cantidad de tareas"
    FROM tareas
    WHERE "Inicio En" >= {{fecha_de_inicio}} AND "Final En" <= {{fecha_de_fin}}
    GROUP BY 1;
    

    La consulta anterior utiliza la función DATE_TRUNC para redondear la marca de tiempo “Inicio En” a la hora más cercana. Luego, agrupa las tareas por hora y cuenta el número de tareas dentro de cada hora. La cláusula WHERE filtra las tareas en función del rango de fechas especificado en el widget de Fecha/Hora de Metabase.

    Para visualizar estos datos en una visualización de barras, puedes crear una nueva pregunta en Metabase y seleccionar el tipo de visualización “Barra”. Luego, selecciona la consulta que acabas de crear como origen de datos. Por último, añade “Hora de inicio” como el eje X y “Cantidad de tareas” como el eje Y en la pestaña “Visualización”.

    Con este enfoque, puedes utilizar el widget de Fecha/Hora para filtrar los datos de las tareas para cualquier intervalo de tiempo específico, lo que lo convierte en una solución más flexible y dinámica. Además, como estás utilizando PostgreSQL, esta solución puede escalar adecuadamente para conjuntos de datos grandes.

Comments are closed.