Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
SSIS行字段是查找的总和_Ssis_Lookup - Fatal编程技术网

SSIS行字段是查找的总和

SSIS行字段是查找的总和,ssis,lookup,Ssis,Lookup,我在SSIS 2012项目中有一个SSIS数据流 我需要根据一些标准,为每一行字段计算另一个表的总和 这类似于查找,但返回查找结果的聚合 是否有一种SSIS方法可以通过组件实现,或者我需要转向脚本任务或存储过程 例如: 一个数据流有很多文件名 我需要从表b中获取总和(数量),其中dataflow.LOT=tableb.LOT 然后将其写回流场您只需要使用查找组件。而不是选择tableb编写查询,因此 SELECT B.Lot -- for matching , SUM(B.quant

我在SSIS 2012项目中有一个SSIS数据流

我需要根据一些标准,为每一行字段计算另一个表的总和

这类似于查找,但返回查找结果的聚合

是否有一种SSIS方法可以通过组件实现,或者我需要转向脚本任务或存储过程

例如:

一个数据流有很多文件名

我需要从表b中获取总和(数量),其中dataflow.LOT=tableb.LOT


然后将其写回流场

您只需要使用查找组件。而不是选择
tableb
编写查询,因此

SELECT
    B.Lot -- for matching
,   SUM(B.quantity) AS TotalQuantity -- for data flow injection
FROM
    tableb AS B
GROUP BY
    B.Lot;
现在,当包开始时,它将首先对该数据源运行此查询,并生成所有批次的数量

根据数据量和表B中的值是否在变化,这可能是一件好事,也可能不是一件好事。在大容量的情况下,如果这是一个问题,那么我将考虑是否可以对上述查询做些什么。也许我只需要当年的数据。也许我的批次列表可以提前推送到remove服务器,以便只计算我需要的集合


如果TableB非常活跃,那么您可能需要将缓存从默认的Full更改为Partial或None。如果Lot 10在数据流中出现两次,None将对源执行2次查找,而Partial将缓存它看到的值。可能,取决于内存压力等。

太明显了!!谢谢表B没有包含太多的值。它们总是在1.000-10.000之间,因此我认为我不会在这方面遇到问题。