Crear dimensión de tiempo usando M en Power BI

Al momento de crear una dimensión de tiempo en Power BI lo podemos hacer de manera muy sencilla haciendo uso de la función "Calendar" o "Calendarauto" en DAX, sin embargo las tablas creadas en DAX no se ven reflejadas en el editor de consultas de Power BI.

Una manera de crear la dimensión de tiempo desde el editor de consultas de Power BI es agregando las siguientes lineas de código en un nuevo query:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each List.DateTimes(#datetime(2018, 01, 01, 23, 55, 0), 1500, #duration(1, 0, 0, 0))), Custom = #"Added Custom"{0}[Custom], #"Converted to Table" = Table.FromList(Custom, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Changed Type1" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type datetime}}) in
#"Changed Type1"
alt

De esta manera se creará una dimensión de tiempo en donde las fechas inician desde enero de 2018 con incremento diario. En caso de que se requiera cambiar la fecha de inicio o el incremento de las fechas en días, meses etc, se debe editar el paso número 3 en donde se usa la función "List.DateTimes"; adjunto el link de la documentación oficial de esta función :

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

Saludos!

comments powered by Disqus