Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在SSI中处理提前到达的事实或推断的成员_Sql_Sql Server_Tsql_Ssis - Fatal编程技术网

Sql 在SSI中处理提前到达的事实或推断的成员

Sql 在SSI中处理提前到达的事实或推断的成员,sql,sql-server,tsql,ssis,Sql,Sql Server,Tsql,Ssis,我一直在研究一个SSIS解决方案,该解决方案将把提前到达的事实处理到一个迄今为止没有运气的维度中。假设表忠诚方案与分区表和公司表相关。在事务中,分区1和公司1的忠诚度方案ID为NULL,那么我必须在LoyaltyScheme表中插入下面的推断成员,以避免查找失败 'N/A', 'Partition 1', 'Company 1' 目前,我正在手动插入推断成员,这是繁忙的。有谁能帮我编写一个脚本,以便任何查找失败都会导致在该表中插入推断成员,并返回该记录的代理键?首先将传入的“事实表”数据加载到

我一直在研究一个
SSIS
解决方案,该解决方案将把提前到达的事实处理到一个迄今为止没有运气的维度中。假设表忠诚方案与分区表和公司表相关。在事务中,分区1和公司1的忠诚度方案ID为NULL,那么我必须在
LoyaltyScheme
表中插入下面的推断成员,以避免查找失败

'N/A', 'Partition 1', 'Company 1'
目前,我正在手动插入推断成员,这是繁忙的。有谁能帮我编写一个脚本,以便任何查找失败都会导致在该表中插入推断成员,并返回该记录的代理键?

首先将传入的“事实表”数据加载到临时表中。然后,运行insert查询将新记录添加到维度表中

insert into dimension
(name)
select name 
from staging
where name in 
(select name
from staging
except 
select name 
from dimension)
然后从维度表更新临时表

update staging
set dimensionId = dimension.dimensionId
from staqing join dimension on staging.name = dimension.name

现在,您可以将记录从暂存表插入到事实表。

我不能完全确定我是否理解您所说的。你觉得你能澄清一下吗?临时桌子是你的朋友。如果您使用它们,这种情况很简单。Zane,我的SSIS包中的查找任务由于不匹配而失败。我想使用一个脚本任务,它可以先在表中插入不匹配行,然后返回键,这样查找任务就不会失败。