The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
Can I use a macro value to filter an exampleset ?
Hi,
I'm using a dictionary to allow a multiple search / replace dictionary. Works fine as such but I want to filter the dictionary so I can use it more flexible and with multiple operators.
In other words, I have a dictionary with 3 attributes, being 'filter', 'from' and 'to'. The filter works fine with static data, but I need it to be more dynamic, or macro driven. Since the filter operator does not seem to accept attr=%{my_macro_value} , I was wondering if there is another way to filter an exampleset with a dynamic value
I'm using a dictionary to allow a multiple search / replace dictionary. Works fine as such but I want to filter the dictionary so I can use it more flexible and with multiple operators.
In other words, I have a dictionary with 3 attributes, being 'filter', 'from' and 'to'. The filter works fine with static data, but I need it to be more dynamic, or macro driven. Since the filter operator does not seem to accept attr=%{my_macro_value} , I was wondering if there is another way to filter an exampleset with a dynamic value
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.015">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.3.015" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="read_csv" compatibility="5.3.015" expanded="true" height="60" name="subcat_regex" width="90" x="45" y="165">
<parameter key="csv_file" value="..\dictionaries\subcatmaker.csv"/>
<parameter key="column_separators" value="	"/>
<parameter key="use_quotes" value="false"/>
<parameter key="first_row_as_names" value="false"/>
<list key="annotations"/>
<parameter key="encoding" value="UTF-8"/>
<list key="data_set_meta_data_information">
<parameter key="0" value="filter.true.polynominal.attribute"/>
<parameter key="1" value="from.true.polynominal.attribute"/>
<parameter key="2" value="to.true.polynominal.attribute"/>
</list>
</operator>
<operator activated="true" class="filter_examples" compatibility="5.3.015" expanded="true" height="76" name="Filter Examples" width="90" x="179" y="165">
<parameter key="condition_class" value="attribute_value_filter"/>
<parameter key="parameter_string" value="ref=%{currCountry}"/>
</operator>
<operator activated="true" class="generate_attributes" compatibility="5.3.015" expanded="true" height="76" name="Generate Attributes" width="90" x="45" y="30">
<list key="function_descriptions">
<parameter key="productSubCategory" value="productDescription"/>
</list>
</operator>
<operator activated="true" class="replace_dictionary" compatibility="5.3.015" expanded="true" height="94" name="Replace (Dictionary)" width="90" x="179" y="30">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="productSubCategory"/>
<parameter key="from_attribute" value="from"/>
<parameter key="to_attribute" value="to"/>
<parameter key="use_regular_expressions" value="true"/>
</operator>
<connect from_port="input 1" to_op="Generate Attributes" to_port="example set input"/>
<connect from_op="subcat_regex" from_port="output" to_op="Filter Examples" to_port="example set input"/>
<connect from_op="Filter Examples" from_port="example set output" to_op="Replace (Dictionary)" to_port="dictionary"/>
<connect from_op="Generate Attributes" from_port="example set output" to_op="Replace (Dictionary)" to_port="example set input"/>
<connect from_op="Replace (Dictionary)" from_port="example set output" to_port="result 1"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="source_input 2" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
</process>
</operator>
</process>
0
Answers
simply try == instead of =
Best,
Martin
Dortmund, Germany