Using Regex and Macros in Loop Attributes
RapidMinerUser12
New Altair Community Member
Hi,
I'm creating a reusable template for looping through attributes. So, I specify the name of the attribute in a separate macro. How can I use this macro in the regex field of Loop Attributes if I'm using attribute filter type = regular expression?
I'm creating a reusable template for looping through attributes. So, I specify the name of the attribute in a separate macro. How can I use this macro in the regex field of Loop Attributes if I'm using attribute filter type = regular expression?
Tagged:
0
Best Answers
-
Hi,
I hope I'm not missing anything, but you can simply enter %{macroname} in the regular expression input field and it is being used in my test process.<?xml version="1.0" encoding="UTF-8"?><process version="9.4.001"> <context> <input/> <output/> <macros> <macro> <key>attfilter</key> <value>attribute_.3</value> </macro> </macros> </context> <operator activated="true" class="process" compatibility="9.4.001" expanded="true" name="Process"> <parameter key="logverbosity" value="init"/> <parameter key="random_seed" value="-1"/> <parameter key="send_mail" value="never"/> <parameter key="notification_email" value=""/> <parameter key="process_duration_for_mail" value="30"/> <parameter key="encoding" value="SYSTEM"/> <process expanded="true"> <operator activated="true" class="retrieve" compatibility="9.4.001" expanded="true" height="68" name="Retrieve Sonar" width="90" x="112" y="34"> <parameter key="repository_entry" value="//Samples/data/Sonar"/> </operator> <operator activated="true" class="concurrency:loop_attributes" compatibility="9.4.001" expanded="true" height="82" name="Loop Attributes" width="90" x="313" y="34"> <parameter key="attribute_filter_type" value="regular_expression"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <parameter key="regular_expression" value="%{attfilter}"/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="attribute_value"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="time"/> <parameter key="block_type" value="attribute_block"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="value_matrix_row_start"/> <parameter key="invert_selection" value="false"/> <parameter key="include_special_attributes" value="false"/> <parameter key="attribute_name_macro" value="loop_attribute"/> <parameter key="reuse_results" value="false"/> <parameter key="enable_parallel_execution" value="true"/> <process expanded="true"> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="source_input 2" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> <portSpacing port="sink_output 2" spacing="0"/> </process> </operator> <connect from_op="Retrieve Sonar" from_port="output" to_op="Loop Attributes" to_port="input 1"/> <connect from_op="Loop Attributes" from_port="output 1" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process>
Example process. Look at the macros after execution.
If that doesn't work, you could try "Set Parameters from ExampleSet" in the Operator Toolbox extension.
Regards,
Balázs1 -
Hi,
OK, so it works in the normal parameter but doesn't in the RE test window.
Good to know.
Regards,
Balázs2
Answers
-
Hi,
I hope I'm not missing anything, but you can simply enter %{macroname} in the regular expression input field and it is being used in my test process.<?xml version="1.0" encoding="UTF-8"?><process version="9.4.001"> <context> <input/> <output/> <macros> <macro> <key>attfilter</key> <value>attribute_.3</value> </macro> </macros> </context> <operator activated="true" class="process" compatibility="9.4.001" expanded="true" name="Process"> <parameter key="logverbosity" value="init"/> <parameter key="random_seed" value="-1"/> <parameter key="send_mail" value="never"/> <parameter key="notification_email" value=""/> <parameter key="process_duration_for_mail" value="30"/> <parameter key="encoding" value="SYSTEM"/> <process expanded="true"> <operator activated="true" class="retrieve" compatibility="9.4.001" expanded="true" height="68" name="Retrieve Sonar" width="90" x="112" y="34"> <parameter key="repository_entry" value="//Samples/data/Sonar"/> </operator> <operator activated="true" class="concurrency:loop_attributes" compatibility="9.4.001" expanded="true" height="82" name="Loop Attributes" width="90" x="313" y="34"> <parameter key="attribute_filter_type" value="regular_expression"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <parameter key="regular_expression" value="%{attfilter}"/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="attribute_value"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="time"/> <parameter key="block_type" value="attribute_block"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="value_matrix_row_start"/> <parameter key="invert_selection" value="false"/> <parameter key="include_special_attributes" value="false"/> <parameter key="attribute_name_macro" value="loop_attribute"/> <parameter key="reuse_results" value="false"/> <parameter key="enable_parallel_execution" value="true"/> <process expanded="true"> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="source_input 2" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> <portSpacing port="sink_output 2" spacing="0"/> </process> </operator> <connect from_op="Retrieve Sonar" from_port="output" to_op="Loop Attributes" to_port="input 1"/> <connect from_op="Loop Attributes" from_port="output 1" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process>
Example process. Look at the macros after execution.
If that doesn't work, you could try "Set Parameters from ExampleSet" in the Operator Toolbox extension.
Regards,
Balázs1 -
Hi,
Thanks for taking the time to answer this question.
The problem is, that when I try to input a regex, it doesn't let me just use a macro in the regex in the pop-up window. But if I input the macro in the field without opening the pop-up window, then I can use it normally.
Thanks.0 -
Hi,
OK, so it works in the normal parameter but doesn't in the RE test window.
Good to know.
Regards,
Balázs2