Todos nuestros modelos de datos tienen una dimensión común, la dimensión de fecha o DimDate. Gracias a la dimensión de la fecha, podemos hacer comparaciones de datos entre rangos de fechas, ver cómo la producción anual de una empresa se ha ido con un vistazo rápido o cualquier funcionalidad que se nos ocurra siempre que haya una relación entre la dimensión de la fecha y la Fact Table.

Creación de la Tabla

Tan pronto como tengamos abierto Power Bi Desktop con nuestra Fact Table cargada, en nuestro caso Disney Movies, podemos comenzar a crear la dimensión de la fecha. Para hacer esto, nos ubicamos en la parte Datos y hacemos clic en Nueva tabla.

DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Al escribir el siguiente código en la barra de creación, crearemos una tabla con todas las fechas que contenidas entre 2016-01-01 y 2019-12-31.

Si deseamos que el rango de fechas sea dinámico, simplemente debemos modificar la parte CALENDAR. Con la siguiente fórmula tomaríamos desde el 1 de enero desde hace dos años hasta el 31 de diciembre, dentro de dos años.

Una vez que se han cargado las columnas principales, podemos comenzar a crear las columnas que usaremos en nuestras visualizaciones de Power Bi con sus respectivas columnas de clasificación. Las columnas de clasificación son obligatorias ya que un gráfico desordenado no tiene valor.

Disordered Graphic vs Order Graphic

DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Creación de Columnas

Las columnas básicas que no deberían faltar en ninguna dimensión de fecha son las siguientes:
  • Year= YEAR ( [Date] )
  • MonthNumber= FORMAT ( [Date]; “MM” )
  • MonthNameShort= FORMAT ( [Date]; “mmm” )
  • MonthNameLong= FORMAT ( [Date]; “mmmm” )
  • DayOfWeekNumber= WEEKDAY ( [Date] )
  • DayOfWeek= FORMAT ( [Date]; “dddd” )
  • DayOfWeekShort= FORMAT ( [Date]; “ddd” )
  • Quarter“= “Q” & FORMAT ( [Date]; “Q” )
  • YearQuarter= FORMAT ( [Date]; “YYYY” ) & “/Q” & FORMAT ( [Date]; “Q” )

Para crear las nuevas columnas, hacemos clic en Nueva columna e insertamos la fórmula en la barra. Podemos crear tantas columnas como queramos y personalizarlas a nuestro gusto, Power Bi tiene una amplia gama de formatos de fecha.
DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Cuando se creen las columnas, tendríamos que ordenarlas por orden de columna. Para crear el orden, seleccionamos la columna que queremos ordenar con respecto a otra columna y hacemos clic en Ordenar por columna y seleccionamos la columna de orden.

DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Tabla de Relaciones

Una de las opciones que no debemos descuidar es Marcar como tabla de fechas, esta opción indica que es la tabla de fechas del modelo y realiza internamente las siguientes validaciones:

  • Contienen valores únicos.
  • Contienen valores que no son nulos
  • Contienen valores de fecha contiguos (de principio a fin)
  • Tienen la misma marca de tiempo en cada valor (si son de la Fecha / Hora)

DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Para finalizar solo necesitamos relacionar la dimensión de la fecha con la fact table.

DimDate dimensiontiempo fecha fechas date aleson itc microsoft base de datos sql server mysql oracle postgresql powerbi power bi business intelligence azure ssis ssas ssrs Azure SQL Database datawarehouse stretch databases managed instance elastic pool data factory

Y verificar que la relación funciona correctamente.

En esta página de Power Bi podemos visualizar la producción de Disney por año y las películas con mayor producción.

Aquí os dejo el script de creación de la dimensión de fecha del ejemplo, para que empecéis desde una base a crear vuestras propias dimensiones de fecha.

En el próximo post de la serie, hablaremos sobre las medidas de tiempo y cómo hacerlo rápidamente en DAX.

Serie DimDate:

  1. Creating DimDate in Power BI – DimDate Series (1/3)
  2. Working with TIME Functions – INTELLIGENCE – DimDate Series (2/3)
  3. Display your dates in Power BI – DimDate Series (3/3)

Si quieres que te ayudemos en tu negocio, visita nuestra página de Data Analytics.

Recommended Posts

Leave a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.