SSIS Excel错误列

我正在导入一个excel文件并从中获取数据。 在less数string列中,有些行的值为#VALUE! 。 我如何过滤SSIS中的这些行? 我已经尝试检查NULL值,以及检查该行的列是否等于#VALUE!

([ALT_TYPENAME] == "#VALUE!")

尝试过滤掉“#VALUE!”

但是,行通过并且根本不被过滤。 是否有可能过滤这些? 列被导入为DT_STR。

好的,你需要改变你的条件分割的顺序。 首先你要检查ISNULL == True,然后是ISNULL == False。

这两个条件之一将永远是真实的,所以行将被发送到该path,第三个条件(==“#VALUE!”)将永远不会被评估。

尝试先评估你的最后一个条件。

您可以通过在Excel源和目标之间使用条件拆分转换来完成此操作。

创build一个对象variables(我名为我的放弃)和基于该variables的logging集目的地。 将条件拆分条件设置为列==“#VALUE!” 并将符合条件的任何内容指向Recordset以放弃它,而其他内容则遵循目标的默认path。

如果您需要根据可能包含“#VALUE!”的多个列进行丢弃 只要将条件扩展到包含所有列的OR即可。

示例输出

这项技术的一个额外的好处是你可以在作业结束时使用Discard Recordset来创build一个不需要的报告。