Saltar al contenido
Categoría: Análisis de Datos
2019-01-15

Creando DimDate en Power BI – Series DimDate (1/3)

Crear DimDate con Power BI es el aliado perfecto para el data analytics de tu empresa. 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.

DimDate = 
ADDCOLUMNS (
CALENDAR ("2016-01-01"; "2019-12-31");
"DateInt"; FORMAT ( [Date]; "YYYYMMDD" ))

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.

CALENDAR (DATE(YEAR(TODAY())-2;1;1); DATE(year(TODAY())+2;12;31));

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” )
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 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.

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

Si te interesa el mundo de Business Intelligence, no dudes en consultar nuestra página de Data Analytics

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.

DimDate = 
ADDCOLUMNS (
CALENDAR ("2000-01-01"; "2019-12-31");
"DateInt"; FORMAT ( [Date]; "YYYYMMDD" );
"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" )
)

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 ayudemos a tu negocio o empresa contacta con nosotros en info@aleson-itc.com o llámanos al +34 962 681 242

Complete este formulario para recibir la guía de Windows Server en Azure
*Obligatorio
Complete este formulario para recibir la guía de Windows Server en Azure
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
*Obligatorio
Complete este formulario para recibir 4 best practices to implement a comprehensive Zero Trust security approach
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud Migration Essentials
*Obligatorio
Complete este formulario para recibir Cloud Migration Essentials
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
*Obligatorio
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete este formulario para recibir Prevent data leaks with Microsoft 365 Business Premium
Gracias por rellenar el formulario [name]. ¡Aquí tienes tu eBook Gratis!
Complete this form to recieve the guide of Windows Server on Azure
*Required
Complete this form to recieve the guide of Windows Server on Azure
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
*Required
Complete this form to recieve 4 best practices to implement a comprehensive Zero Trust security approach
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Essentials
*Required
Complete this form to recieve Cloud Migration Essentials
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud security Advice for Nonprofit Leaders
*Required
Complete este formulario para recibir Cloud security Advice for Nonprofit Leaders
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!
Complete this form to recieve Cloud Migration Simplified Ebook.
*Obligatorio
Complete this form to recieve Prevent data leaks with Microsoft 365 Business Premium
Thank you for filling out the form [name]. Here's your Free eBook!