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