我有一个包含很少记录的excel源文件。到目前为止,我正在将过滤器应用到excel文件中,复制新的结果集(应用过滤器后),然后粘贴到同一Excel中的新工作表中,然后将新数据集加载到SQL Server中。
我想使任务自动化,以便避免复制粘贴,因为文件数量较多。我对此进行了Google搜索,发现条件拆分可能会有所帮助,但是当我在同一条件上应用条件拆分时,我没有发现最终结果集有什么不同。
因此要求提供同样的指导。
答案 0 :(得分:4)
假设您要对三个不同的列的某些Excel数据应用三个过滤器,以获取最终数据集。
假设您的Excel工作表包含以下列:
现在假设您要应用以下过滤器:
我将假设您在“数据流任务”中正确配置了Excel Source连接。
添加一个Conditional Split
任务,并将Excel Source的输出连接到该任务。进入Conditional Split
配置编辑器。单击Output Name
下的框,然后为过滤后的输出命名,例如PassedFilters
。接下来,我们将构建过滤条件。然后,在Condition
下添加以下表达式:
[AmountOfSale] > 100.00 && [StoreId] == 13 && ([QuantitySold] >= 1 && [QuantitySold] <= 10)
点击OK
并保存Conditional Split
任务。现在,将目标连接添加到数据流中。将条件拆分任务连接到目标连接器,SSIS / SSDT应弹出一个Input Output Selection
对话框。从“输出”下拉列表中选择PassedFilters
输出,然后应预先输入目标输入。如果不是,则选择正确的输入。并点击OK
。
现在,只有通过过滤器的行将被发送到目的地。