Tabla de calendario incluida la hora (que no sea 00:00)

Un usuario Pregunto ✅

Alba

Hola a todos,

Cuando queremos dividir los datos por fecha, creamos una tabla de calendario, que se puede hacer fácilmente con CALENDARAUTO o CALENDAR. Esto no incluye tiempo (bueno, solo 00:00:00). Ahora, imagine que tenemos datos en los que el tiempo es realmente relevante y queremos dividirlos en intervalos de tiempo específicos. Por ejemplo, necesitamos filtrar transacciones entre las 13:15 y las 15:45 en un día específico.

¿Cómo harías eso?

¿Existe una manera fácil, integrada o no, de crear una tabla de fechas que incluya la granularidad de tiempo necesaria?

Muchas gracias

Hola @AlB

Según mi prueba, debería poder usar la fórmula a continuación para crear una tabla de calendario con fecha y hora. por ejemplo, 2018/1/1 00:00:00 ~ 2018/1/5 23:45:00

En el Editor de consultas

cree una nueva consulta en blanco, abra el editor avanzado, pegue el código a continuación

let
    Source = #datetime(2018,1,5,23,59,59)-#datetime(2018,1,1,0,0,0),  //the duration between start and end date,you could change the start and end date 
    #"Calculated Total Minutes" = Duration.TotalMinutes(Source),      //calculate the total munites of the duration 
    final=List.DateTimes(#datetime(2018, 1, 1, 0, 0, 0), #"Calculated Total Minutes"/15, #duration(0, 0, 15, 0)),// incrementing by 15 minutes
    #"Converted to Table" = Table.FromList(final, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"Converted to Table"

Nota: no pegue el carácter azul en el editor, es solo una explicación.

Referencia:

https://docs.microsoft.com/en-us/powerquery-m/list-datetimes

https://docs.microsoft.com/en-us/powerquery-m/duration-totalminutes

Atentamente

Maggie

Hola @AlB

Según mi prueba, debería poder usar la fórmula a continuación para crear una tabla de calendario con fecha y hora. por ejemplo, 2018/1/1 00:00:00 ~ 2018/1/5 23:45:00

En el Editor de consultas

cree una nueva consulta en blanco, abra el editor avanzado, pegue el código a continuación

let
    Source = #datetime(2018,1,5,23,59,59)-#datetime(2018,1,1,0,0,0),  //the duration between start and end date,you could change the start and end date 
    #"Calculated Total Minutes" = Duration.TotalMinutes(Source),      //calculate the total munites of the duration 
    final=List.DateTimes(#datetime(2018, 1, 1, 0, 0, 0), #"Calculated Total Minutes"/15, #duration(0, 0, 15, 0)),// incrementing by 15 minutes
    #"Converted to Table" = Table.FromList(final, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"Converted to Table"

Nota: no pegue el carácter azul en el editor, es solo una explicación.

Referencia:

https://docs.microsoft.com/en-us/powerquery-m/list-datetimes

https://docs.microsoft.com/en-us/powerquery-m/duration-totalminutes

Atentamente

Maggie

Alba

En respuesta a v-juanli-msft

@v-juanli-msft

Esa es una solución realmente genial y rápida. Muchas gracias Maggie.

¿Puedes crear esto usando solo elementos de los menús o tuviste que agregar el código M manualmente, en el editor?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *