Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 需要根据SSIS中的某些条件筛选excel行_Sql_Sql Server_Excel_Ssis_Ssis 2012 - Fatal编程技术网

Sql 需要根据SSIS中的某些条件筛选excel行

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文件中应用过滤器,复制新的结果集(应用过滤器后),然后粘贴到同一excel中的新工作表中,然后在SQL Server中加载新的数据集

我想使任务自动化,这样我就可以避免复制粘贴,因为有更多的文件。我在谷歌上搜索了一下,发现条件分割很有帮助,但当我在同一个平台上应用条件分割时,我没有发现最终结果集有任何差异


因此,我们要求提供相同的指导。

假设您希望对三个不同列的某些Excel数据应用三个过滤器,以获得最终的数据集

假设您的Excel工作表有以下列:

  • ProductId(产品的整数id字段)
  • AMONTOFSALE(单位为的值) 美元)
  • StoreId(存储位置的整数id字段) (销售)
  • 已售出数量(整数值)
现在假设您希望应用以下过滤器:

  • AmountOfSale>100.00美元
  • StoreId=13(您只想查看StoreId 13的数据)
  • 数量在1到10之间
我假设您在数据流任务中正确配置了Excel源代码连接

添加一个
条件拆分
任务,并将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]