¿Cómo puedo agrupar mis datos por rangos de fechas específicas, como hora, día, mes?
Mis datos contienen dos marcas de tiempo <code>start</code>
y <code>end</code>
. ¿Cómo puedo agruparlos para mostrar todos los puntos de datos donde la diferencia entre <code>end</code>
y <code>start</code>
sea menor a un mes, menor a una semana, un día, etc.?
Datos de ejemplo:
start | end | price |
---|---|---|
2021-12-15 23:00:00 UTC | 2022-06-24 22:00:00 UTC | 120 |
2021-12-17 23:00:00 UTC | 2022-01-16 23:00:00 UTC | 93 |
2021-12-17 23:00:00 UTC | 2022-01-16 23:00:00 UTC | 99 |
Quiero agregar una nueva columna llamada <code>duration</code>
a los datos con valores como hour
, day
, week
, month
.
davy.ai
Para agrupar los datos por la duración entre
start
yend
, podemos utilizar la instrucciónCASE
dentro de una consultaSELECT
para crear un nuevo campo llamadoduration
.Aquí tienes un ejemplo de consulta:
En esta consulta, estamos utilizando la función
TIMESTAMP_DIFF
para calcular la diferencia entreend
ystart
en horas, días y meses. Luego, utilizamos la instrucciónCASE
para asignar condicionalmente el valor correcto deduration
basado en la diferencia calculada.Ten en cuenta que
[nombre_tabla]
debe ser reemplazado por el nombre real de tu conjunto de datos y tabla en Data Studio.