Options

"Problem with Object Collection and advanced charts"

GregMGregM Member Posts: 18 Maven
edited June 2019 in Help

Normally, if I create an advanced chart in one example set of an object collection, I can click through each example set in the collection and the chart will still exist.   Lately, however, I have one set where if I click to a different example set it deletes all the settings in the chart configuration.   it makes advanced charts unusable in this form

 

I am using rapidminer 7.1.1  and I have not seen this behavior before.  the xml is below.   The first (top most) collection created by loop values works fine and correctly with advanced charts, the second one does not.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="7.1.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="7.1.001" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="read_csv" compatibility="7.1.001" expanded="true" height="68" name="Read CSV" width="90" x="112" y="34">
<parameter key="csv_file" value="E:\SPC-output.csv"/>
<parameter key="column_separators" value=","/>
<parameter key="first_row_as_names" value="false"/>
<list key="annotations">
<parameter key="0" value="Comment"/>
<parameter key="1" value="Name"/>
</list>
<parameter key="encoding" value="windows-1252"/>
<list key="data_set_meta_data_information">
<parameter key="0" value="#_PARTNO.true.polynominal.attribute"/>
<parameter key="1" value="#_SN.true.polynominal.attribute"/>
<parameter key="2" value="calculated average spring length.true.real.attribute"/>
<parameter key="3" value="positive fract change.true.real.attribute"/>
<parameter key="4" value="negative fract change.true.real.attribute"/>
<parameter key="5" value="poslimdeg.true.real.attribute"/>
<parameter key="6" value="neglimdeg.true.real.attribute"/>
<parameter key="7" value="poslim.true.real.attribute"/>
<parameter key="8" value="neglim.true.real.attribute"/>
<parameter key="9" value="fract neg limit.true.real.attribute"/>
<parameter key="10" value="angle.true.real.attribute"/>
<parameter key="11" value="fractposlim.true.real.attribute"/>
<parameter key="12" value="att13.false.attribute_value.attribute"/>
<parameter key="13" value="actual target deflection.true.real.attribute"/>
<parameter key="14" value="spreadsheet target .true.real.attribute"/>
<parameter key="15" value="ratio.false.integer.attribute"/>
<parameter key="16" value="Corrected measured.true.real.attribute"/>
<parameter key="17" value="shift off target degrees.true.real.attribute"/>
<parameter key="18" value="fract shift.true.real.attribute"/>
<parameter key="19" value="corrfract.true.real.attribute"/>
<parameter key="20" value="att21.false.attribute_value.attribute"/>
<parameter key="21" value="att22.false.integer.attribute"/>
</list>
</operator>
<operator activated="true" class="multiply" compatibility="7.1.001" expanded="true" height="166" name="Multiply" width="90" x="246" y="34"/>
<operator activated="true" class="loop_values" compatibility="7.1.001" expanded="true" height="103" name="Loop Values" width="90" x="112" y="544">
<parameter key="attribute" value="#_PARTNO"/>
<process expanded="true">
<operator activated="true" class="filter_examples" compatibility="7.1.001" expanded="true" height="103" name="Filter Examples (3)" width="90" x="112" y="187">
<list key="filters_list">
<parameter key="filters_entry_key" value="#_PARTNO.equals.%{loop_value}"/>
</list>
</operator>
<operator activated="true" class="multiply" compatibility="7.1.001" expanded="true" height="103" name="Multiply (2)" width="90" x="246" y="238"/>
<operator activated="true" class="aggregate" compatibility="7.1.001" expanded="true" height="82" name="Aggregate" width="90" x="45" y="493">
<list key="aggregation_attributes">
<parameter key="corrfract" value="average"/>
<parameter key="corrfract" value="standard_deviation"/>
<parameter key="corrfract" value="maximum"/>
<parameter key="corrfract" value="minimum"/>
<parameter key="fractposlim" value="average"/>
<parameter key="fract neg limit" value="average"/>
<parameter key="#_PARTNO" value="count"/>
<parameter key="shift off target degrees" value="average"/>
</list>
<parameter key="group_by_attributes" value="angle"/>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes" width="90" x="179" y="493">
<list key="function_descriptions">
<parameter key="2sig" value="[standard_deviation(corrfract)]*2"/>
<parameter key="3sig" value="[standard_deviation(corrfract)]*3"/>
<parameter key="partno1" value="%{loop_value}"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (2)" width="90" x="313" y="493">
<list key="function_descriptions">
<parameter key="1sigUB" value="[average(corrfract)]+[standard_deviation(corrfract)]"/>
<parameter key="1sigLB" value="[average(corrfract)]-[standard_deviation(corrfract)]"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (3)" width="90" x="447" y="493">
<list key="function_descriptions">
<parameter key="1sigUBdelta" value="[average(fractposlim)]-[1sigUB]"/>
<parameter key="1siglbdelta" value="[1sigLB]-[average(fract neg limit)]"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (4)" width="90" x="45" y="595">
<list key="function_descriptions">
<parameter key="NsigUL" value="([1sigUBdelta]+[standard_deviation(corrfract)])/[standard_deviation(corrfract)]"/>
<parameter key="NsigLL" value="([1siglbdelta]+[standard_deviation(corrfract)])/[standard_deviation(corrfract)]"/>
<parameter key="NsigOffDelta" value="([NsigUL]-[NsigLL])/2"/>
<parameter key="OffsetFract" value="[NsigOffDelta]*[standard_deviation(corrfract)]"/>
</list>
</operator>
<operator activated="true" class="extract_macro" compatibility="7.1.001" expanded="true" height="68" name="Extract Macro" width="90" x="179" y="595">
<parameter key="macro" value="minval1"/>
<parameter key="macro_type" value="statistics"/>
<parameter key="statistics" value="min"/>
<parameter key="attribute_name" value="1sigUBdelta"/>
<list key="additional_macros"/>
</operator>
<operator activated="true" class="extract_macro" compatibility="7.1.001" expanded="true" height="68" name="Extract Macro (2)" width="90" x="313" y="595">
<parameter key="macro" value="minval2"/>
<parameter key="macro_type" value="statistics"/>
<parameter key="statistics" value="min"/>
<parameter key="attribute_name" value="1siglbdelta"/>
<list key="additional_macros"/>
</operator>
<operator activated="true" class="generate_macro" compatibility="7.1.001" expanded="true" height="82" name="Generate Macro" width="90" x="447" y="595">
<list key="function_descriptions">
<parameter key="minvalnet" value="min(eval(%{minval1}),eval(%{minval2}))"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (5)" width="90" x="45" y="697">
<list key="function_descriptions">
<parameter key="minvalsig" value="eval(%{minvalnet})"/>
</list>
</operator>
<operator activated="true" class="numerical_to_real" compatibility="7.1.001" expanded="true" height="82" name="Numerical to Real" width="90" x="179" y="697">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="minvalsig"/>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (6)" width="90" x="380" y="697">
<list key="function_descriptions">
<parameter key="minvalbyrow" value="min([1siglbdelta],[1sigUBdelta])"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (7)" width="90" x="514" y="697">
<list key="function_descriptions">
<parameter key="TEMPoffract" value="if(minvalbyrow == minvalsig,OffsetFract,-1000)"/>
</list>
</operator>
<operator activated="true" class="extract_macro" compatibility="7.1.001" expanded="true" height="68" name="Extract Macro (3)" width="90" x="648" y="697">
<parameter key="macro" value="offsetvalue1"/>
<parameter key="macro_type" value="statistics"/>
<parameter key="statistics" value="max"/>
<parameter key="attribute_name" value="TEMPoffract"/>
<list key="additional_macros"/>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (8)" width="90" x="45" y="799">
<list key="function_descriptions">
<parameter key="OffsetAverage" value="[average(corrfract)]+eval(%{offsetvalue1})"/>
<parameter key="OffsetNsigUL" value="([average(fractposlim)]-OffsetAverage)/[standard_deviation(corrfract)]"/>
<parameter key="OffsetNsigLL" value="([average(fract neg limit)]-OffsetAverage)/[standard_deviation(corrfract)]"/>
<parameter key="OffsetfFdeltUL" value="([average(fractposlim)]-OffsetAverage)"/>
<parameter key="OffsetFdeltLL" value="([average(fract neg limit)]-OffsetAverage)"/>
<parameter key="OffsetNsigperMiliFractLL" value="[OffsetNsigLL]/(1000*[OffsetFdeltLL])"/>
<parameter key="OffsetNsigperMiliFractUL" value="[OffsetNsigUL]/(1000*[OffsetfFdeltUL])"/>
</list>
</operator>
<operator activated="true" class="generate_attributes" compatibility="7.1.001" expanded="true" height="82" name="Generate Attributes (9)" width="90" x="179" y="799">
<list key="function_descriptions">
<parameter key="NsigPerMinuteOfAngleLL" value="OffsetNsigperMiliFractLL*1000/(60*angle)"/>
</list>
</operator>
<connect from_port="example set" to_op="Filter Examples (3)" to_port="example set input"/>
<connect from_op="Filter Examples (3)" from_port="example set output" to_op="Multiply (2)" to_port="input"/>
<connect from_op="Multiply (2)" from_port="output 1" to_port="out 1"/>
<connect from_op="Multiply (2)" from_port="output 2" to_op="Aggregate" to_port="example set input"/>
<connect from_op="Aggregate" from_port="example set output" to_op="Generate Attributes" to_port="example set input"/>
<connect from_op="Generate Attributes" from_port="example set output" to_op="Generate Attributes (2)" to_port="example set input"/>
<connect from_op="Generate Attributes (2)" from_port="example set output" to_op="Generate Attributes (3)" to_port="example set input"/>
<connect from_op="Generate Attributes (3)" from_port="example set output" to_op="Generate Attributes (4)" to_port="example set input"/>
<connect from_op="Generate Attributes (4)" from_port="example set output" to_op="Extract Macro" to_port="example set"/>
<connect from_op="Extract Macro" 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="Generate Attributes (5)" to_port="example set input"/>
<connect from_op="Generate Attributes (5)" from_port="example set output" to_op="Numerical to Real" to_port="example set input"/>
<connect from_op="Numerical to Real" from_port="example set output" to_op="Generate Attributes (6)" to_port="example set input"/>
<connect from_op="Generate Attributes (6)" from_port="example set output" to_op="Generate Attributes (7)" to_port="example set input"/>
<connect from_op="Generate Attributes (7)" from_port="example set output" to_op="Extract Macro (3)" to_port="example set"/>
<connect from_op="Extract Macro (3)" from_port="example set" to_op="Generate Attributes (8)" to_port="example set input"/>
<connect from_op="Generate Attributes (8)" from_port="example set output" to_op="Generate Attributes (9)" to_port="example set input"/>
<connect from_op="Generate Attributes (9)" from_port="example set output" to_port="out 2"/>
<portSpacing port="source_example set" spacing="0"/>
<portSpacing port="sink_out 1" spacing="0"/>
<portSpacing port="sink_out 2" spacing="0"/>
<portSpacing port="sink_out 3" spacing="0"/>
</process>
</operator>
<operator activated="true" class="multiply" compatibility="7.1.001" expanded="true" height="124" name="Multiply (3)" width="90" x="313" y="595"/>
<operator activated="true" class="filter_examples" compatibility="7.1.001" expanded="true" height="103" name="Filter Examples (2)" width="90" x="313" y="340">
<list key="filters_list">
<parameter key="filters_entry_key" value="#_PARTNO.equals.9-217688-04"/>
</list>
</operator>
<operator activated="true" class="filter_examples" compatibility="7.1.001" expanded="true" height="103" name="Filter Examples" width="90" x="380" y="187">
<list key="filters_list">
<parameter key="filters_entry_key" value="#_PARTNO.equals.9-217588-04"/>
</list>
</operator>
<connect from_op="Read CSV" from_port="output" to_op="Multiply" to_port="input"/>
<connect from_op="Multiply" from_port="output 1" to_port="result 1"/>
<connect from_op="Multiply" from_port="output 2" to_port="result 2"/>
<connect from_op="Multiply" from_port="output 3" to_op="Filter Examples" to_port="example set input"/>
<connect from_op="Multiply" from_port="output 4" to_op="Filter Examples (2)" to_port="example set input"/>
<connect from_op="Multiply" from_port="output 5" to_op="Loop Values" to_port="example set"/>
<connect from_op="Loop Values" from_port="out 1" to_port="result 5"/>
<connect from_op="Loop Values" from_port="out 2" to_op="Multiply (3)" to_port="input"/>
<connect from_op="Multiply (3)" from_port="output 1" to_port="result 6"/>
<connect from_op="Multiply (3)" from_port="output 2" to_port="result 7"/>
<connect from_op="Multiply (3)" from_port="output 3" to_port="result 8"/>
<connect from_op="Filter Examples (2)" from_port="example set output" to_port="result 4"/>
<connect from_op="Filter Examples" from_port="example set output" to_port="result 3"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
<portSpacing port="sink_result 5" spacing="0"/>
<portSpacing port="sink_result 6" spacing="0"/>
<portSpacing port="sink_result 7" spacing="0"/>
<portSpacing port="sink_result 8" spacing="0"/>
<portSpacing port="sink_result 9" spacing="0"/>
</process>
</operator>
</process>

Best Answer

  • Options
    GregMGregM Member Posts: 18 Maven
    Solution Accepted

    toying with it a bit more, the problem is not the collection itself.  it is the multiply of the collection.  somehow that messes it up.    Getting rid of multiply (or putting multiply in the loop) and it works correctly

Answers

  • Options
    MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,512 RM Data Scientist

    this sounds odd. The multiply should not effect it.

     

    Do you have the option to report this to our customer support?

     

    ~Martin

    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • Options
    GregMGregM Member Posts: 18 Maven

    Possibly.  I can provide the rapidminer code (as shown in first post) but the data itself is proprietary and can not be shared.

  • Options
    MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,512 RM Data Scientist

    the question was rather if you could post the question on support.rapidminer.com. If you are a paying customer, you get the professional support. I think this is something which should be handled there. Otherwise i will have a look on it.

     

    ~Martin

    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • Options
    GregMGregM Member Posts: 18 Maven

    nope.  I don't use rapidminer enough to justify that anymore.   I used to use it more but bugs like this and other time wasting features pushed me more and more to matlab.   I still use it occasionally for small tasks (like this one, that fits in the too big for excel and too small to hassle with matlab) but the ones it would be really useful on, it is not a time saver over matlab.

Sign In or Register to comment.