Para mi almacén de datos, estoy creando una tabla de calendario de la siguiente manera:
SET NOCOUNT ON DROP Table dbo.Calendar GO Create Table dbo.Calendar ( CalendarId Integer NOT NULL, DateValue Date NOT NULL, DayNumberOfWeek Integer NOT NULL, NameOfDay VarChar (10) NOT NULL, NameOfMonth VarChar (10) NOT NULL, WeekOfYear Integer NOT NULL, JulianDay Integer NOT NULL, USAIsBankHoliday Bit NOT NULL, USADayName VarChar (100) NULL, ) ALTER TABLE dbo.Calendar ADD CONSTRAINT DF_Calendar_USAIsBankHoliday DEFAULT 0 FOR USAIsBankHoliday GO ALTER TABLE dbo.Calendar ADD CONSTRAINT DF_Calendar_USADayName DEFAULT '' FOR USADayName GO Declare @StartDate DateTime = '01/01/2000' Declare @EndDate DateTime = '01/01/2020' While @StartDate 2 SELECT * FROM dbo.Calendar
Aquí está la salida de este comando
http://img35.imageshack.us/img35/3899/calendartable.png
He visto estructuras similares implementadas en varios sabores por arquitectos de datos.
Mi pregunta es: ¿qué otra información útil de almacenamiento de datos / estilo de dimensión puedo agregar a esta estructura de tabla?
Esta es mi lista de posibles columnas en la dimensión del calendario:
Creé una hoja de cálculo interactiva donde puede crear su propia dimensión de tiempo para la base de datos PostgreSQL.
Bueno, Raj More, es un buen post y un script muy útil para Crear un calendario, los otros campos que puedes incluir en la misma tabla pueden ser: 1) QuateroftheYear 2) IsWeekend 3) IsWeekday
cuarto de año
year_quarter (2013-3)
mes del año
year_month (2013-08)
semana del año
semana del mes
día del año
día del trimestre
dia del mes
día de la semana