Sql 需要根据SSIS中的某些条件筛选excel行
我有一个包含很少记录的源excel文件。现在,我正在excel文件中应用过滤器,复制新的结果集(应用过滤器后),然后粘贴到同一excel中的新工作表中,然后在SQL Server中加载新的数据集 我想使任务自动化,这样我就可以避免复制粘贴,因为有更多的文件。我在谷歌上搜索了一下,发现条件分割很有帮助,但当我在同一个平台上应用条件分割时,我没有发现最终结果集有任何差异Sql 需要根据SSIS中的某些条件筛选excel行,sql,sql-server,excel,ssis,ssis-2012,Sql,Sql Server,Excel,Ssis,Ssis 2012,我有一个包含很少记录的源excel文件。现在,我正在excel文件中应用过滤器,复制新的结果集(应用过滤器后),然后粘贴到同一excel中的新工作表中,然后在SQL Server中加载新的数据集 我想使任务自动化,这样我就可以避免复制粘贴,因为有更多的文件。我在谷歌上搜索了一下,发现条件分割很有帮助,但当我在同一个平台上应用条件分割时,我没有发现最终结果集有任何差异 因此,我们要求提供相同的指导。假设您希望对三个不同列的某些Excel数据应用三个过滤器,以获得最终的数据集 假设您的Excel工作
因此,我们要求提供相同的指导。假设您希望对三个不同列的某些Excel数据应用三个过滤器,以获得最终的数据集 假设您的Excel工作表有以下列:
- ProductId(产品的整数id字段)
- AMONTOFSALE(单位为的值) 美元)
- StoreId(存储位置的整数id字段) (销售)
- 已售出数量(整数值)
- AmountOfSale>100.00美元
- StoreId=13(您只想查看StoreId 13的数据)
- 数量在1到10之间
条件拆分
任务,并将Excel源的输出连接到该任务。进入条件拆分
配置编辑器。单击输出名称
下的框,为过滤后的输出命名,可能类似于PassedFilters
。接下来,我们将构建过滤条件。然后在条件下
添加以下表达式:
[AmountOfSale] > 100.00 && [StoreId] == 13 && ([QuantitySold] >= 1 && [QuantitySold] <= 10)
[AmountOfSale]>100.00&&[StoreId]==13&&([QuantitySeld]>=1&&[QuantitySeld]假设您希望将三个过滤器应用于三个不同列的某些Excel数据,以获得最终的数据集
假设您的Excel工作表有以下列:
- ProductId(产品的整数id字段)
- AMONTOFSALE(单位为的值)
美元)
- StoreId(用于存储的存储位置的整数id字段)
(销售)
- 已售出数量(整数值)
现在假设您希望应用以下过滤器:
- AmountOfSale>100.00美元
- StoreId=13(您只想查看StoreId 13的数据)
- 数量在1到10之间
我假设您在数据流任务中正确配置了Excel源代码连接
添加一个Conditional Split
任务,并将Excel源代码的输出连接到该任务。进入Conditional Split
配置编辑器。单击output Name
下的框,为过滤后的输出命名,可能类似于PassedFilters
。接下来,我们将构建过滤条件。在Co>下条件
然后添加以下表达式:
[AmountOfSale] > 100.00 && [StoreId] == 13 && ([QuantitySold] >= 1 && [QuantitySold] <= 10)
[AmountOfSale]>100.00&&[StoreId]==13&&([quantitysell]>=1&&[quantitysell]提供有关您的Excel筛选器和SSIS中的条件拆分的详细信息。您一定是错误地实现了条件拆分。向我们展示您是如何实现的,以便我们能够帮助调试它。您还可以为提取编写sql语句。提供有关您的Excel筛选器和SSIS中的条件拆分的详细信息。您必须实现了条件拆分拆分错误。向我们展示您是如何完成的,这样我们就可以帮助调试它。您还可以为摘录编写sql语句。我喜欢您在一行中完成的方式。我通常会反向执行,剩余部分是良好的记录,即过滤器1=[AmountOfSale]我喜欢你在一行上的表现。我通常是反过来做的,剩下的就是好记录,即Filter 1=[AmountOfSale]