Sql server ETL数据流任务-保留计算

Sql server ETL数据流任务-保留计算,sql-server,etl,theory,dataflow,Sql Server,Etl,Theory,Dataflow,让我请求您帮助理解数据流任务的主要逻辑。我正在使用ETL将数据加载到数据仓库(也包括暂存和dwh部分)。现在我有一个任务,用现有字段计算数据,但必须用库存数据计算 我需要剩余数量、分配数量和进行中数量的正确数量。(如图所示)。但目前我没有看到这个结果。能得到它就太好了。 我在查找得到库存数据列表后进行了计算 然后通过其他查找检查实际温度数据。如果temp by item上不存在该记录,则插入该记录,否则只需进行简单更新。。用这种方法,我将进行计算过程。。我认为在下一个记录系统上,应该重新查询

让我请求您帮助理解数据流任务的主要逻辑。我正在使用ETL将数据加载到数据仓库(也包括暂存和dwh部分)。现在我有一个任务,用现有字段计算数据,但必须用库存数据计算

我需要剩余数量、分配数量和进行中数量的正确数量。(如图所示)。但目前我没有看到这个结果。能得到它就太好了。 我在查找得到库存数据列表后进行了计算

然后通过其他查找检查实际温度数据。如果temp by item上不存在该记录,则插入该记录,否则只需进行简单更新。。用这种方法,我将进行计算过程。。我认为在下一个记录系统上,应该重新查询临时表并查询实际数据。。我是说数量减少了。一个记录一个记录。但是现在,在这两次查找之后,我得到了每一行相同的结果。这意味着对我来说,临时表不会在数据流内部重新查询。我应该使用其他数据流进行计算吗?或者我可以使用这个数据流中的临时表,它可以通过记录更新吗?因为我会按记录重新查询实际库存数量..

…谢谢你的阅读

我感到困惑,但据我所知,您希望使用查找转换重新查询,对吗?如果是这样,在查找转换编辑器的“常规”选项卡内,有一个用于缓存模式的选项,默认情况下,它被标记为完全缓存

  • 完全缓存意味着在数据流中执行任何操作之前 任务时,数据库将被查询一次并保存在内存中。所以当你 尝试在数据流任务中使用查找转换,它将 仅使用存储在内存中的数据
  • 第二个选项是部分缓存,在执行此操作之前查询一些数据 转换,如果在其中找不到,则查询 再次访问数据库以查找它
  • 最后是无缓存模式,您可以在该模式中查询 每次处理一行时的数据库
  • 您可以找到更详细的信息


    希望它能帮助我,但据我所知,您希望使用查找转换重新查询,对吗?如果是这样,在查找转换编辑器的“常规”选项卡内,有一个用于缓存模式的选项,默认情况下,它被标记为完全缓存

  • 完全缓存意味着在数据流中执行任何操作之前 任务时,数据库将被查询一次并保存在内存中。所以当你 尝试在数据流任务中使用查找转换,它将 仅使用存储在内存中的数据
  • 第二个选项是部分缓存,在执行此操作之前查询一些数据 转换,如果在其中找不到,则查询 再次访问数据库以查找它
  • 最后是无缓存模式,您可以在该模式中查询 每次处理一行时的数据库
  • 您可以找到更详细的信息

    希望能有所帮助 大家好,我已经找到了一个解决方案,并对ETL流程进行了更改。。我分离了数据流任务,并使用存储过程重新计算临时表上的数据。然后,下一个数据流能够从temp查询更新的数据,并用正确的数量和价格填充事实表。那时我已经学习了控制流和数据流流程。现在我明白了,这个应用程序运行良好。谢谢你的支持


    大家好,我已经找到了一个解决方案,并对ETL流程进行了更改。。我分离了数据流任务,并使用存储过程重新计算临时表上的数据。然后,下一个数据流能够从temp查询更新的数据,并用正确的数量和价格填充事实表。那时我已经学习了控制流和数据流流程。现在我明白了,这个应用程序运行良好。谢谢你的支持

    请重新格式化您的问题,以便更好地解释,包括屏幕截图、您正在尝试实现的目标、您迄今为止尝试了什么以及为什么它不起作用。目前不可能理解你想问什么…对不起,你是对的。我更新了我的问题。谢谢你的支持!请重新格式化您的问题,以便更好地解释,包括屏幕截图、您正在尝试实现的目标、您迄今为止尝试了什么以及为什么它不起作用。目前不可能理解你想问什么…对不起,你是对的。我更新了我的问题。谢谢你的支持!谢谢你的解决方案。我试过了,但没有解决我的问题。你能看一下我的项目中可能存在数据流问题的部分吗?见上面的图片3。我发现了下面的文章:你认为,这是实现剩余量计算的唯一可能的方法吗?使用CTE?:)如果可能的话,我可以使用变量数组。。我的意思是更多的项目与它的实际数量。我没有看到一个问题的逻辑,你在图像中。虽然我不是SSIS方面的专家,但对我来说似乎还不错。也许您正在使用某种类型的包变量,在数据流任务中保存并使用新值?直到数据流任务结束,变量才会更新。这可能是一个原因。您也可以像您所说的那样将它们分成两个数据流,并找出问题所在。谢谢您的解决方案。我试过了,但没有解决我的问题。你能看一下我的项目中可能存在数据流问题的部分吗?见上面的图片3。我发现了下面的文章:你认为,这是实现剩余量计算的唯一可能的方法吗?使用CTE?:)如果可能的话,我可以使用变量数组。。我的意思是更多的项目与它的实际数量。我没有看到一个问题的逻辑,你在图像中。虽然我不是SSIS方面的专家