"[解决了]在嵌套循环中传递变量"
你好,
我想使用黑名单过滤表的行
黑名单的结构是一列,包含姓名和一列数字,即:
名字
123
562
588
要过滤的表的结构是三列。
第一列包含数字,第二列和第三列包含各种内容,即:
A - B - C
123文本文本
123文本文本
562文本文本
455文本文本
在此过程中,以“123”和“562”开头的行将被删除,因为这些数字在黑名单中。
在一个成功的过程之后,结果应该是:
A - B - C
455文本文本
逻辑上有两个循环:选择一个列入黑名单的数字,检查是否出现在表格的每一行,如果是积极的就采取行动,然后选择下一个列入黑名单的数字。
当我对黑名单使用无循环(即:参数字符串:%{loop_attribute}=123)进行测试时,直接使用操作符“过滤示例”确实没有任何问题。
当我实现黑名单的循环时(使用loop_attribute2)(操作符“过滤示例”,参数字符串%{loop_attribute}=%{loop_attribute2}),没有任何工作。
我尝试了另一种解决方案,我在另一篇文章中读到,使用操作符“生成属性”。
我已经在上面花了几个小时,尝试了很多方法,但还是卡住了。
结果表为空。
属性“Name”的值(来自第一个循环)似乎在子进程中不知怎么丢失了。我得到一个空表或一个未过滤的表(如果我反转过滤器)。我错过了一些“宏”操作符…但是什么?
也许清醒的头脑能帮到我?
先谢谢你
亚历克斯
下面是目前为止的代码
我想使用黑名单过滤表的行
黑名单的结构是一列,包含姓名和一列数字,即:
名字
123
562
588
要过滤的表的结构是三列。
第一列包含数字,第二列和第三列包含各种内容,即:
A - B - C
123文本文本
123文本文本
562文本文本
455文本文本
在此过程中,以“123”和“562”开头的行将被删除,因为这些数字在黑名单中。
在一个成功的过程之后,结果应该是:
A - B - C
455文本文本
逻辑上有两个循环:选择一个列入黑名单的数字,检查是否出现在表格的每一行,如果是积极的就采取行动,然后选择下一个列入黑名单的数字。
当我对黑名单使用无循环(即:参数字符串:%{loop_attribute}=123)进行测试时,直接使用操作符“过滤示例”确实没有任何问题。
当我实现黑名单的循环时(使用loop_attribute2)(操作符“过滤示例”,参数字符串%{loop_attribute}=%{loop_attribute2}),没有任何工作。
我尝试了另一种解决方案,我在另一篇文章中读到,使用操作符“生成属性”。
我已经在上面花了几个小时,尝试了很多方法,但还是卡住了。
结果表为空。
属性“Name”的值(来自第一个循环)似乎在子进程中不知怎么丢失了。我得到一个空表或一个未过滤的表(如果我反转过滤器)。我错过了一些“宏”操作符…但是什么?
也许清醒的头脑能帮到我?
先谢谢你
亚历克斯
下面是目前为止的代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.2.008 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<列出关键= "注释" >
< / >列表
<列出关键= " data_set_meta_data_information " >
< / >列表
< /操作符>
<列出关键= "注释" >
< / >列表
<列出关键= " data_set_meta_data_information " >
< / >列表
< /操作符>
<列出关键= " function_descriptions " >
< / >列表
< /操作符>
< /操作符>
< /操作符>
> < /过程
< /操作符>
< /操作符>
> < /过程
< /操作符>
> < /过程
< /操作符>
> < /过程
标记:
0
最佳答案
-
scepxko 成员职位:15Maven你好,马吕斯,
它是如此迅速地实现,我感到有点惭愧:-)
非常感谢。
“集减”从主列表中删除黑名单中的元素。
最后,我倾向于保留黑名单上的元素,删除其他元素。操作人员“机密数据库”给出了结果。
这里是其他Rapidminer学生的“Set Minus”的实现:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.2.008 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<列出关键= "注释" >
< / >列表
<列出关键= " data_set_meta_data_information " >
< / >列表
< /操作符>
<列出关键= "注释" >
< / >列表
<列出关键= " data_set_meta_data_information " >
< / >列表
< /操作符>
> < /过程
< /操作符>
> < /过程0
答案
只需加载两个表,将过滤器列的角色设置为“id”并使用set Minus操作符。这将大大简化您的流程
最好的,马吕斯