使用带有特定Excel文件的switch / step时,为什么预览选项会抛出错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用带有特定Excel文件的switch / step时,为什么预览选项会抛出错误?相关的知识,希望对你有一定的参考价值。

我有一个excel文件,我想用Switch / case过滤。名为error的转型:

The Transformation

收益:

2018/03/01 11:48:00 - Spoon - Using legacy execution engine
2018/03/01 11:48:00 - Spoon - Transformation opened.
2018/03/01 11:48:00 - Spoon - Launching transformation [error]...
2018/03/01 11:48:00 - Spoon - Started the transformation execution.
2018/03/01 11:48:00 - error - Dispatching started for transformation [error]
2018/03/01 11:48:00 - Microsoft Excel Input.0 - Finished processing (I=108, O=0, R=0, W=108, U=0, E=0)
2018/03/01 11:48:00 - Switch / case.0 - Finished processing (I=0, O=0, R=108, W=108, U=0, E=0)
2018/03/01 11:48:00 - Dummy (do nothing).0 - Finished processing (I=0, O=0, R=108, W=108, U=0, E=0)
2018/03/01 11:48:00 - Spoon - The transformation has finished!!

什么时候跑。但它会抛出错误:

The Error

2018/03/01 11:49:07 - error - Dispatching started for transformation [error]
2018/03/01 11:49:07 - Switch / case.0 - ERROR (version 8.0.0.0-28, build 8.0.0.0-28 from 2017-11-05 07.27.50 by buildguy) : Unexpected error
2018/03/01 11:49:07 - Switch / case.0 - ERROR (version 8.0.0.0-28, build 8.0.0.0-28 from 2017-11-05 07.27.50 by buildguy) : java.lang.NullPointerException
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.BaseStep.safeModeChecking(BaseStep.java:2129)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.BaseStep.handleGetRow(BaseStep.java:1942)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.BaseStep.access$100(BaseStep.java:147)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.BaseStep$DefaultRowHandler.getRow(BaseStep.java:4180)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.BaseStep.getRow(BaseStep.java:1797)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.steps.switchcase.SwitchCase.processRow(SwitchCase.java:65)
2018/03/01 11:49:07 - Switch / case.0 -     at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2018/03/01 11:49:07 - Switch / case.0 -     at java.lang.Thread.run(Thread.java:748)
2018/03/01 11:49:07 - Switch / case.0 - Finished processing (I=0, O=0, R=1, W=0, U=0, E=1)
2018/03/01 11:49:07 - Microsoft Excel Input.0 - Finished processing (I=11, O=0, R=0, W=10, U=0, E=0)
2018/03/01 11:49:07 - error - Transformation detected one or more steps with errors.
2018/03/01 11:49:07 - error - Transformation is killing the other steps!
2018/03/01 11:49:07 - error - ERROR (version 8.0.0.0-28, build 8.0.0.0-28 from 2017-11-05 07.27.50 by buildguy) : Errors detected!
2018/03/01 11:49:07 - Spoon - The transformation has finished!!
2018/03/01 11:49:07 - error - ERROR (version 8.0.0.0-28, build 8.0.0.0-28 from 2017-11-05 07.27.50 by buildguy) : Errors detected!
2018/03/01 11:49:07 - error - ERROR (version 8.0.0.0-28, build 8.0.0.0-28 from 2017-11-05 07.27.50 by buildguy) : Errors detected!

当右键单击/预览...用于任何步骤时,我无法在Switch / case之后的任何步骤中预览数据。而Preview data下面的Execution Results标签可以在所有步骤中预览数据。

我试图用Generate Rows步骤或使用另一个文件重现错误,但我没有成功,所以这似乎表明Switch / case不喜欢我的特定文件,我目前无法确定。

为什么会这样?我怎样才能防止它发生?

答案

问题是我在Microsoft Excel Input步骤中有一个空名字段。我将其重命名为实际包含非空字符串,问题已解决。

以上是关于使用带有特定Excel文件的switch / step时,为什么预览选项会抛出错误?的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 AVQueuePlayer 的 Switch 语句?

Pandas DataFrame 删除带有特定值的行

如何使用带有第二个参数设置 0xFACE 的 ioctl 来调用特定函数?

如何根据当前日期使用 python Pandas 从 Excel 工作表加载特定工作簿

VBA 在 Outlook 中粘贴带有图表的特定 excel 范围

Excel VBA - 从多个打开的文件资源管理器窗口中关闭特定的文件资源管理器窗口