Crear y poblar una dimensión de Fechas en SQL Server 2012

Publicado: agosto 8, 2013 en Business Intelligence, SQL Server 2012

En un sistema de Bodegas de Datos, una de las tablas más importantes y que siempre se encuentra presente es la dimensión Fecha, ya que con esta, estamos en la capacidad de medir en el tiempo, la historia de nuestro sistema para poder realizar análisis sobre los datos.

A continuación, aprenderemos a crear y poblar una bodega de datos en SQL Server 2012.

El primer paso, es la creación de la Tabla DimFecha

CREATE TABLE
dbo.DimFecha(

  IDFecha int NOT NULL IDENTITY(1, 1),

  [Fecha] datetime NOT NULL,

  [Año] int NOT NULL,

  [Mes] int NOT NULL,

  [Dia] int NOT NULL,

  [Trimestre] int NOT NULL,

CONSTRAINT PK_Fechas PRIMARY KEY CLUSTERED (IDFecha)

)

Una vez tenemos nuestra tabla creada en la Bodega de Datos, ejecutamos el siguiente Script para el cargue de la misma, con un rango de fechas en específico.

DECLARE @FechaInicio datetime

DECLARE @FechaFin datetime

SET @FechaInicio = ’01/01/2009′

SET @FechaFin = ’12/31/2014′

DECLARE @FechaCiclo datetime

SET @FechaCiclo = @FechaInicio

WHILE @FechaCiclo <= @FechaFin

BEGIN

— Insertar un registro en la dimensión Fecha

INSERT INTO DimFecha VALUES (

@FechaCiclo,

Year(@FechaCiclo),

Month(@FechaCiclo),

Day(@FechaCiclo),

CASE
WHEN Month(@FechaCiclo) IN (1, 2, 3) THEN 1

WHEN Month(@FechaCiclo) IN (4, 5, 6) THEN 2

WHEN Month(@FechaCiclo) IN (7, 8, 9) THEN 3

WHEN Month(@FechaCiclo) IN (10, 11, 12) THEN 4

END

)

— Incrementar la FechaCiclo 1 día antes

— Comienza el ciclo nuevamente

SET @FechaCiclo = DateAdd(d, 1, @FechaCiclo)

END

— Consultamos la tabla

SELECT * FROM DimFecha


Espero que este pequeño artículo sea de su utilidad!!!!

comentarios
  1. […] Nuestro amigo, Alberto Rivera, nos comparte el siguiente artículo: Aquí […]

  2. pablo dice:

    La conversión del tipo de datos varchar en datetime produjo un valor fuera de intervalo. Ayuda

  3. carlosporras dice:

    MUCHAS GRACIAS,,,, SINO FUERA POR TU AYUDA NO HUBIERA PODIDO TERMINAR MI TESIS QUE LA DESARROLLE EN UN DATAMART .. MIL BENDICIONES….

  4. DFFDFDFDF dice:

    GRACIASSSS

  5. […] Una de las dimensiones obligatorias en cualquier sistema de Bodegas de datos, es la de Tiempo. Dado que la información histórica de la organización es medible a través del tiempo, se hace importante la creación y el cargue de la misma. En este artículo, aprenderán a crear una dimensión Tiempo. AQUÍ […]

  6. […] Una de las dimensiones obligatorias en cualquier sistema de Bodegas de datos, es la de Tiempo. Dado que la información histórica de la organización es medible a través del tiempo, se hace importante la creación y el cargue de la misma. En este artículo, aprenderán a crear una dimensión Tiempo. AQUÍ […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s