Oi Matheus, tudo bom?
O Script da dimensão tempo, tem a divisão até o dia e a semana.
DECLARE @DIMDATE TABLE
( [Cod_Dia] NVARCHAR(50) primary key,
[Data] DATE,
[Cod_Semana] int,-- 01,02,03 .... 42,43,44
[Nome_Dia_Semana] NVARCHAR(50),-- Segunda, terça, quarta, quinta, sexta
[Cod_Mes] int,-- 01,02,03 ... , 11, 12
[Nome_Mes] NVARCHAR(50),-- Janeiro, Fevereiro, Março, ... Novembro, Dezembro
[Cod_Mes_Ano] NVARCHAR(50),-- 2017-01, 2017-02, ..., 2017-11, 2017-12
[Nome_Mes_Ano] NVARCHAR(50),-- Janeiro 2017, Fevereiro 2017, ....
[Cod_Trimestre] int,-- 01, 02, 03, 04
[Nome_Trimestre] NVARCHAR(50),-- Primeiro Trimestre, Segundo Trimestre, ...
[Cod_Trimestre_Ano] NVARCHAR(50),-- 2017-01, 2017-02, ...
[Nome_Trimestre_Ano] NVARCHAR(50),-- Primeiro Trimestre 2017, Segundo Trimestre 2017, ...
[Cod_Semestre] int,-- 01, 02, ...
[Nome_Semestre] NVARCHAR(50),-- Primeiro Semestre, Segundo Semestre, ...
[Cod_Semestre_Ano] NVARCHAR(50),-- 2017-01, 2017-02, ...
[Nome_Semestre_Ano] NVARCHAR(50),-- Primeiro Semestre, Segundo Semestre, ...
[Ano] NVARCHAR(50),-- 2017, ...
[Tipo_Dia] NVARCHAR(50) -- Dia Útil ou Fim de Semana
Qualquer coisa me fale, beleza? :)