在SQL Server中写入连续的日期
问题:在Power BI中写度量值来计算上年数据时,经常会遇到时间不连续而没法使用函数Dateadd('日期字段',-1,year)
解决方法:在数据库中写入一个连续的日期表用来作关联
举例:日期从2017-01-01到2050-12-31
首先建表:
USE [Deborah]
GO
/****** Object: Table [dbo].[Dimdate] Script Date: 2019/8/7 15:27:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Dimdate](
[datekey] [date] NULL
) ON [PRIMARY]
GO
写入日期:
DECLARE @BEGIN_DATE DATETIME
SELECT @BEGIN_DATE = '2017-01-01'
WHILE @BEGIN_DATE <='2050-12-31'
BEGIN
INSERT INTO [dbo].[DimDate] ([datekey]) VALUES (@BEGIN_DATE)
SELECT @BEGIN_DATE = DATEADD(DD, 1, @BEGIN_DATE)
END
查询结果如下图所示:
感谢阅读!