<?xml version="1.0" encoding="UTF-8" standalone="no"?><process version="5.0"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.0.8" expanded="true" name="Process"> <process expanded="true" height="190" width="547"> <operator activated="true" class="generate_nominal_data" compatibility="5.0.8" expanded="true" height="60" name="Generate Nominal Data" width="90" x="45" y="30"> <parameter key="number_examples" value="10"/> <parameter key="number_of_attributes" value="1"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.8" expanded="true" height="76" name="Loop Examples" width="90" x="179" y="30"> <process expanded="true" height="613" width="786"> <operator activated="true" class="extract_macro" compatibility="5.0.8" expanded="true" height="60" name="Extract Macro" width="90" x="45" y="30"> <parameter key="macro" value="example_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att1"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="branch" compatibility="5.0.8" expanded="true" height="76" name="Branch" width="90" x="179" y="30"> <parameter key="condition_type" value="macro_defined"/> <parameter key="condition_value" value="examples"/> <process expanded="true" height="613" width="368"> <operator activated="true" class="generate_macro" compatibility="5.0.8" expanded="true" height="76" name="Generate Macro" width="90" x="45" y="30"> <list key="function_descriptions"> <parameter key="examples" value=""%{examples}, %{example_value}""/> </list> </operator> <connect from_port="condition" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="0"/> <portSpacing port="sink_input 2" spacing="0"/> </process> <process expanded="true" height="613" width="368"> <operator activated="true" class="generate_macro" compatibility="5.0.8" expanded="true" height="76" name="Generate Macro (2)" width="90" x="45" y="30"> <list key="function_descriptions"> <parameter key="examples" value=""%{example_value}""/> </list> </operator> <connect from_port="condition" to_op="Generate Macro (2)" to_port="through 1"/> <connect from_op="Generate Macro (2)" from_port="through 1" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="0"/> <portSpacing port="sink_input 2" spacing="0"/> </process> </operator> <connect from_port="example set" to_op="Extract Macro" to_port="example set"/> <connect from_op="Extract Macro" from_port="example set" to_op="Branch" to_port="condition"/> <connect from_op="Branch" from_port="input 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <operator activated="true" class="print_to_console" compatibility="5.0.8" expanded="true" height="76" name="Print to Console" width="90" x="313" y="30"> <parameter key="log_value" value="%{examples}"/> </operator> <connect from_op="Generate Nominal Data" from_port="output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="example set" to_op="Print to Console" to_port="through 1"/> <connect from_op="Print to Console" from_port="through 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>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><process version="5.0"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.0.8" expanded="true" name="Process"> <process expanded="true" height="251" width="547"> <operator activated="true" class="generate_nominal_data" compatibility="5.0.8" expanded="true" height="60" name="Generate Nominal Data" width="90" x="45" y="30"> <parameter key="number_examples" value="10"/> <parameter key="number_of_attributes" value="2"/> </operator> <operator activated="true" class="generate_empty_attribute" compatibility="5.0.11" expanded="true" height="76" name="Generate Empty Attribute" width="90" x="179" y="30"> <parameter key="name" value="att3"/> <parameter key="value_type" value="polynominal"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.8" expanded="true" height="76" name="Loop Examples" width="90" x="380" y="30"> <process expanded="true" height="589" width="681"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (2)" width="90" x="45" y="30"> <parameter key="macro" value="att1_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att1"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro" width="90" x="179" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""""/> </list> </operator> <operator activated="true" class="filter_examples" compatibility="5.0.11" expanded="true" height="76" name="Filter Examples" width="90" x="179" y="210"> <parameter key="condition_class" value="attribute_value_filter"/> <parameter key="parameter_string" value="att1 = %{att1_value}"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.11" expanded="true" height="76" name="Loop Examples (2)" width="90" x="313" y="210"> <parameter key="iteration_macro" value="example_inner"/> <process expanded="true" height="607" width="786"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (3)" width="90" x="45" y="30"> <parameter key="macro" value="att2_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att2"/> <parameter key="example_index" value="%{example_inner}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro (2)" width="90" x="179" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""%{att3_value}%{att2_value}""/> </list> </operator> <connect from_port="example set" to_op="Extract Macro (3)" to_port="example set"/> <connect from_op="Extract Macro (3)" from_port="example set" to_op="Generate Macro (2)" to_port="through 1"/> <connect from_op="Generate Macro (2)" from_port="through 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <operator activated="true" class="set_data" compatibility="5.0.11" expanded="true" height="76" name="Set Data" width="90" x="313" y="345"> <parameter key="attribute_name" value="att3"/> <parameter key="example_index" value="%{example}"/> <parameter key="value" value="%{att3_value}"/> </operator> <connect from_port="example set" to_op="Extract Macro (2)" to_port="example set"/> <connect from_op="Extract Macro (2)" from_port="example set" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Examples (2)" to_port="example set"/> <connect from_op="Filter Examples" from_port="original" to_op="Set Data" to_port="example set input"/> <connect from_op="Set Data" from_port="example set output" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <connect from_op="Generate Nominal Data" from_port="output" to_op="Generate Empty Attribute" to_port="example set input"/> <connect from_op="Generate Empty Attribute" from_port="example set output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="example set" 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>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><process version="5.0"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.0.8" expanded="true" name="Process"> <process expanded="true" height="251" width="681"> <operator activated="true" class="generate_nominal_data" compatibility="5.0.8" expanded="true" height="60" name="Generate Nominal Data" width="90" x="45" y="30"> <parameter key="number_examples" value="10"/> <parameter key="number_of_attributes" value="2"/> </operator> <operator activated="true" class="generate_empty_attribute" compatibility="5.0.11" expanded="true" height="76" name="Generate Empty Attribute" width="90" x="179" y="30"> <parameter key="name" value="att3"/> <parameter key="value_type" value="polynominal"/> </operator> <operator activated="true" class="set_macro" compatibility="5.0.11" expanded="true" height="76" name="Set Macro" width="90" x="313" y="30"> <parameter key="macro" value="test"/> <parameter key="value" value=""""/> </operator> <operator activated="true" class="sort" compatibility="5.0.11" expanded="true" height="76" name="Sort" width="90" x="447" y="30"> <parameter key="attribute_name" value="att1"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.8" expanded="true" height="76" name="Loop Examples" width="90" x="581" y="30"> <process expanded="true" height="589" width="685"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (2)" width="90" x="112" y="30"> <parameter key="macro" value="att1_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att1"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="branch" compatibility="5.0.11" expanded="true" height="76" name="Branch" width="90" x="246" y="30"> <parameter key="condition_type" value="expression"/> <parameter key="condition_value" value="%{test} == %{att1_value}"/> <process expanded="true" height="505" width="312"> <operator activated="true" class="set_data" compatibility="5.0.11" expanded="true" height="76" name="Set Data (2)" width="90" x="112" y="30"> <parameter key="attribute_name" value="att3"/> <parameter key="example_index" value="%{example}"/> <parameter key="value" value="%{att3_value}"/> </operator> <connect from_port="condition" to_op="Set Data (2)" to_port="example set input"/> <connect from_op="Set Data (2)" from_port="example set output" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="0"/> <portSpacing port="sink_input 2" spacing="0"/> </process> <process expanded="true" height="505" width="361"> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro" width="90" x="45" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""""/> </list> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro (3)" width="90" x="179" y="30"> <list key="function_descriptions"> <parameter key="test" value=""%{att1_value}""/> </list> </operator> <operator activated="true" class="filter_examples" compatibility="5.0.11" expanded="true" height="76" name="Filter Examples" width="90" x="45" y="120"> <parameter key="condition_class" value="attribute_value_filter"/> <parameter key="parameter_string" value="att1 = %{att1_value}"/> </operator> <operator activated="true" class="set_data" compatibility="5.0.11" expanded="true" height="76" name="Set Data" width="90" x="246" y="210"> <parameter key="attribute_name" value="att3"/> <parameter key="example_index" value="%{example}"/> <parameter key="value" value="%{att3_value}"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.11" expanded="true" height="76" name="Loop Examples (2)" width="90" x="246" y="120"> <parameter key="iteration_macro" value="example_inner"/> <process expanded="true" height="505" width="791"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (3)" width="90" x="45" y="30"> <parameter key="macro" value="att2_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att2"/> <parameter key="example_index" value="%{example_inner}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro (2)" width="90" x="418" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""%{att3_value} %{att2_value}""/> </list> </operator> <connect from_port="example set" to_op="Extract Macro (3)" to_port="example set"/> <connect from_op="Extract Macro (3)" from_port="example set" to_op="Generate Macro (2)" to_port="through 1"/> <connect from_op="Generate Macro (2)" from_port="through 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <connect from_port="condition" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_op="Generate Macro (3)" to_port="through 1"/> <connect from_op="Generate Macro (3)" from_port="through 1" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Examples (2)" to_port="example set"/> <connect from_op="Filter Examples" from_port="original" to_op="Set Data" to_port="example set input"/> <connect from_op="Set Data" from_port="example set output" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="180"/> <portSpacing port="sink_input 2" spacing="0"/> </process> </operator> <connect from_port="example set" to_op="Extract Macro (2)" to_port="example set"/> <connect from_op="Extract Macro (2)" from_port="example set" to_op="Branch" to_port="condition"/> <connect from_op="Branch" from_port="input 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <connect from_op="Generate Nominal Data" from_port="output" to_op="Generate Empty Attribute" to_port="example set input"/> <connect from_op="Generate Empty Attribute" from_port="example set output" to_op="Set Macro" to_port="through 1"/> <connect from_op="Set Macro" from_port="through 1" to_op="Sort" to_port="example set input"/> <connect from_op="Sort" from_port="example set output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="example set" 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>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><process version="5.0"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.0.8" expanded="true" name="Process"> <process expanded="true" height="280" width="681"> <operator activated="true" class="generate_nominal_data" compatibility="5.0.8" expanded="true" height="60" name="Generate Nominal Data" width="90" x="45" y="30"> <parameter key="number_examples" value="10"/> <parameter key="number_of_attributes" value="2"/> </operator> <operator activated="true" class="generate_empty_attribute" compatibility="5.0.11" expanded="true" height="76" name="Generate Empty Attribute" width="90" x="179" y="30"> <parameter key="name" value="att3"/> <parameter key="value_type" value="polynominal"/> </operator> <operator activated="true" class="sort" compatibility="5.0.11" expanded="true" height="76" name="Sort" width="90" x="313" y="30"> <parameter key="attribute_name" value="att1"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.8" expanded="true" height="76" name="Loop Examples" width="90" x="447" y="30"> <process expanded="true" height="589" width="820"> <operator activated="true" class="branch" compatibility="5.0.11" expanded="true" height="76" name="Branch" width="90" x="112" y="30"> <parameter key="condition_type" value="attribute_value_filter"/> <parameter key="condition_value" value="att1 = %{att1_value} [%{example}]"/> <process expanded="true" height="505" width="346"> <operator activated="true" class="set_data" compatibility="5.0.11" expanded="true" height="76" name="Set Data (3)" width="90" x="112" y="30"> <parameter key="attribute_name" value="att3"/> <parameter key="example_index" value="%{example}"/> <parameter key="value" value="%{att3_value}"/> </operator> <connect from_port="condition" to_op="Set Data (3)" to_port="example set input"/> <connect from_op="Set Data (3)" from_port="example set output" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="0"/> <portSpacing port="sink_input 2" spacing="0"/> </process> <process expanded="true" height="505" width="415"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (2)" width="90" x="45" y="30"> <parameter key="macro" value="att1_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att1"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro" width="90" x="179" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""""/> </list> </operator> <operator activated="true" class="filter_examples" compatibility="5.0.11" expanded="true" height="76" name="Filter Examples (2)" width="90" x="112" y="210"> <parameter key="condition_class" value="attribute_value_filter"/> <parameter key="parameter_string" value="att1 = %{att1_value}"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.0.11" expanded="true" height="76" name="Loop Examples (3)" width="90" x="246" y="210"> <parameter key="iteration_macro" value="example_inner"/> <process expanded="true" height="505" width="839"> <operator activated="true" class="extract_macro" compatibility="5.0.11" expanded="true" height="60" name="Extract Macro (4)" width="90" x="45" y="30"> <parameter key="macro" value="att2_value"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="att2"/> <parameter key="example_index" value="%{example_inner}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.0.11" expanded="true" height="76" name="Generate Macro (3)" width="90" x="442" y="30"> <list key="function_descriptions"> <parameter key="att3_value" value=""%{att3_value}%{att2_value}""/> </list> </operator> <connect from_port="example set" to_op="Extract Macro (4)" to_port="example set"/> <connect from_op="Extract Macro (4)" from_port="example set" to_op="Generate Macro (3)" to_port="through 1"/> <connect from_op="Generate Macro (3)" from_port="through 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <operator activated="true" class="set_data" compatibility="5.0.11" expanded="true" height="76" name="Set Data (2)" width="90" x="246" y="300"> <parameter key="attribute_name" value="att3"/> <parameter key="example_index" value="%{example}"/> <parameter key="value" value="%{att3_value}"/> </operator> <connect from_port="condition" to_op="Extract Macro (2)" to_port="example set"/> <connect from_op="Extract Macro (2)" from_port="example set" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_op="Filter Examples (2)" to_port="example set input"/> <connect from_op="Filter Examples (2)" from_port="example set output" to_op="Loop Examples (3)" to_port="example set"/> <connect from_op="Filter Examples (2)" from_port="original" to_op="Set Data (2)" to_port="example set input"/> <connect from_op="Set Data (2)" from_port="example set output" to_port="input 1"/> <portSpacing port="source_condition" spacing="0"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_input 1" spacing="0"/> <portSpacing port="sink_input 2" spacing="0"/> </process> </operator> <connect from_port="example set" to_op="Branch" to_port="condition"/> <connect from_op="Branch" from_port="input 1" to_port="example set"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> </process> </operator> <connect from_op="Generate Nominal Data" from_port="output" to_op="Generate Empty Attribute" to_port="example set input"/> <connect from_op="Generate Empty Attribute" from_port="example set output" to_op="Sort" to_port="example set input"/> <connect from_op="Sort" from_port="example set output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="example set" 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>
This is ugly (it would be nice if the Aggregate operator had the option to pick the concatenation character), but this takes a list like:
my_string
________
giants
patriots
lions
eagles
And returns: 'giants','patriots','lions','eagles'
<?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="select_attributes" compatibility="7.4.000" expanded="true" height="82" name="Get just my_string" width="90" x="313" y="34"> <parameter key="attribute_filter_type" value="single"/> <parameter key="attribute" value="my_string"/> <parameter key="attributes" value=""/> <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"/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="generate_attributes" compatibility="7.4.000" expanded="true" height="82" name="Quote" width="90" x="447" y="34"> <list key="function_descriptions"> <parameter key="my_string" value="concat("'",my_string,"'")"/> </list> <parameter key="keep_all" value="true"/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="aggregate" compatibility="7.4.000" expanded="true" height="82" name="Aggregate" width="90" x="581" y="34"> <parameter key="use_default_aggregation" value="false"/> <parameter key="attribute_filter_type" value="all"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <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="default_aggregation_function" value="average"/> <list key="aggregation_attributes"> <parameter key="my_string" value="concatenation"/> </list> <parameter key="group_by_attributes" value=""/> <parameter key="count_all_combinations" value="false"/> <parameter key="only_distinct" value="false"/> <parameter key="ignore_missings" value="true"/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="replace" compatibility="7.4.000" expanded="true" height="82" name="Replace" width="90" x="715" y="34"> <parameter key="attribute_filter_type" value="all"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="nominal"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="file_path"/> <parameter key="block_type" value="single_value"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="single_value"/> <parameter key="invert_selection" value="false"/> <parameter key="include_special_attributes" value="false"/> <parameter key="replace_what" value="\|"/> <parameter key="replace_by" value=","/> </operator></process>
Or as a process that takes a macro called "attribute" as the feature and returns an attribute called "list"
<?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="generate_attributes" compatibility="7.4.000" expanded="true" height="82" name="Quote" width="90" x="179" y="34"> <list key="function_descriptions"> <parameter key="%{attribute}" value="concat("'",eval(%{attribute}),"'")"/> </list> <parameter key="keep_all" value="true"/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="aggregate" compatibility="7.4.000" expanded="true" height="82" name="Aggregate" width="90" x="313" y="34"> <parameter key="use_default_aggregation" value="false"/> <parameter key="attribute_filter_type" value="all"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <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="default_aggregation_function" value="average"/> <list key="aggregation_attributes"> <parameter key="%{attribute}" value="concatenation"/> </list> <parameter key="group_by_attributes" value=""/> <parameter key="count_all_combinations" value="false"/> <parameter key="only_distinct" value="false"/> <parameter key="ignore_missings" value="true"/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="replace" compatibility="7.4.000" expanded="true" height="82" name="Replace" width="90" x="447" y="34"> <parameter key="attribute_filter_type" value="all"/> <parameter key="attribute" value=""/> <parameter key="attributes" value=""/> <parameter key="use_except_expression" value="false"/> <parameter key="value_type" value="nominal"/> <parameter key="use_value_type_exception" value="false"/> <parameter key="except_value_type" value="file_path"/> <parameter key="block_type" value="single_value"/> <parameter key="use_block_type_exception" value="false"/> <parameter key="except_block_type" value="single_value"/> <parameter key="invert_selection" value="false"/> <parameter key="include_special_attributes" value="false"/> <parameter key="replace_what" value="\|"/> <parameter key="replace_by" value=","/> </operator></process><?xml version="1.0" encoding="UTF-8"?><process version="7.4.000"> <operator activated="true" class="rename" compatibility="7.4.000" expanded="true" height="82" name="Rename" width="90" x="581" y="34"> <parameter key="old_name" value="concat(%{attribute})"/> <parameter key="new_name" value="list"/> <list key="rename_additional_attributes"/> </operator></process>