gpt4 book ai didi

csv - SSIS - 在将事实与查找表匹配两次时重用 Ole DB 源

转载 作者:行者123 更新时间:2023-12-04 14:48:58 25 4
gpt4 key购买 nike

一般来说,我对 SSIS 和 BI 还很陌生,如果这是一个新手问题,首先很抱歉。

我在 csv 中有事实表的源数据,所以我想将 ID 与查找表中的代理键进行匹配。

csv中的数据结构是这样的

... userId, OriginStationId, DestinyStationId,..

我想要完成的是将数据与我的查找表进行匹配。所以我正在做的是

  1. 使用 OLE DB 源读取查找数据
  2. 正在读取我的 csv 文件
  3. 按同一字段对两个输入进行排序
  4. 通过 Id 进行左连接,以获得 SK

这样,如果没有匹配项(也就是找不到代理键),我可以将其重定向到被拒绝的 csv 并稍后处理。

像这样:

Join

(抱歉是西类牙语!)

我对每个维度都这样做,所以我可以用不同的错误代码处理每个维度。

由于 OriginStationIdDestinyStationId 是来自同一维度的两个值(它们都匹配同一个查找表),我想知道是否有办法避免阅读表中数据的两倍(我的意思是,不要使用两个 ole db 源从同一个表中读取两倍的数据)。

我尝试在排序中添加第二个输出,但不允许这样做。从 OLE DB Source 添加另一个输出也是如此。

我看到有一个“缓存选项”,这是最好的方法吗? (尽管无论如何创建另一个 OLE DB 源.. 对吧?)

我想到的第三个选项是加入两个字段,但由于查找表中只有一个字段(同一字段),所以当我尝试将我的 csv 中的两个列映射到同一个字段时出现错误我的查找表中的列

There are columns missing with the sort order 2 to 2

最好的方法是什么?或者我想错了什么?如果有什么不清楚的地方,请告诉我,我会更新我的问题

最佳答案

任何时候您希望您可以从一个只允许一个的组件获得多个输出,您所要做的就是在该组件之后使用多播组件,其唯一目的是将数据流拆分为多个输出。

关于csv - SSIS - 在将事实与查找表匹配两次时重用 Ole DB 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com