您有两种选择可以有条件地执行部分工作.
在条件检查之后的组件可以是起始组件(如果将其放到画布上然后它应该具有绿色背景),那么您可以使用Run if
连接器将其链接到作业的上一部分,如下所示:
在这个例子中,我们只是有条件地调用另一个tJava组件,但这可以是任何可启动的组件.
使用以下代码配置第一个tJava组件(Set condition boolean):
Boolean condition = false;
globalMap.put("condition",condition);
Run Code Online (Sandbox Code Playgroud)
而且,这两个Run if
接口被设置为((Boolean)globalMap.get("condition")) == true
和((Boolean)globalMap.get("condition")) == false
分别.
更好的选择可能是在tMap或tFilterRow组件中使用过滤,这也允许您链接到不启动组件的组件.为此,您可以将工作设置如下:
在这个工作中,我在tFixedFlowInput组件中硬编码了一些表格数据:
然后我们使用tMap过滤数据流到以下任何组件:
我们在其中测试数据的布尔条件列的值.作为一个例子,我还对数据应用了一些简单的条件转换,其中"true"行的值增加了1000,"false"行的值减去了100.
从这里开始,您可以正常地继续工作流程,在这种情况下,我们会链接到一个tSystem组件,以根据您的评论执行系统命令.