【发布时间】:2014-09-22 17:17:46
【问题描述】:
当使用 SSIS 函数缓慢变化的维度时,我如何向目标表中添加一个列来告诉我我的记录何时是最新的?
我正在使用 SSIS 中的缓慢变化维度函数将数据从 Customer 表移动到 DimCustomer 表中。但是,我想在我的 DimCustomer 名称“IsCurrent”中添加一列,它会告诉我我的值何时是最新的。但我不知道该怎么做。
基本上我想到的如何写声明:WHEN EndDate IS NULL THEN 'Y' ELSE 'N'
需要您帮助了解如何跟踪我的当前值和非当前值。
下面是我的客户表:
CREATE TABLE Customers (
CustomerNumber Char(8) PRIMARY KEY,
FirstName nvarchar(50) Not NULL,
MiddleName nvarchar(1) Null,
LastName nvarchar(50) Not Null,
EmailAddress nvarchar(320) Not Null,
Phone varchar(25) Not Null,
Country nvarchar(20) Not Null,
City nvarchar(20) Not Null,
StateProvince nvarchar(10) Not Null,
Addressline1 nvarchar (250) Not Null,
Addressline2 nvarchar (250) Null
)
下面是我的 DimCustomer 表:
CREATE TABLE dbo.DimCustomers (
CustomerKey Int Identity(1,1) PRIMARY KEY CLUSTERED,
CustomerNumber Char(8) Not Null,
FirstName nvarchar(50) Not NULL,
MiddleName nvarchar(1) Null,
LastName nvarchar(50) Not Null,
EmailAddress nvarchar(320) Not Null,
Phone varchar(25) Not Null,
Country nvarchar(20) Not Null,
City nvarchar(20) Not Null,
StateProvince nvarchar(10) Not Null,
Addressline1 nvarchar (250) Not Null,
Addressline2 nvarchar (250) Null,
StartDate Datetime Null,
EndDate Datetime Null,
IsInerred Bit Default(0))
【问题讨论】: