Connecting output of Loop Value block to Join Input

Karan_KansalKaran_Kansal Member Posts: 9 Contributor II
edited November 2018 in Help
I am trying connect the output from the loop values block to a Join but I face the following error:

Some input of type com.rapidminer.example.ExampleSet in not provided.

I think the error occurs because I am trying to connect IOObject output to the Join Input. I have tried using the Append and Flatten Collection blocks but to no avail.


Any ideas on solving this issue .

Help is greatly appreciated
Thanks

Answers

  • Karan_KansalKaran_Kansal Member Posts: 9 Contributor II
    Below is the XML code:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="6.4.000">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="6.4.000" expanded="true" name="Process">
        <process expanded="true">
          <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve HCP Data" width="90" x="45" y="75">
            <parameter key="repository_entry" value="//CCM Suggestion Engine/HCP Data"/>
          </operator>
          <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing" width="90" x="112" y="165">
            <parameter key="replace_what" value=" "/>
            <parameter key="replace_by" value="_"/>
          </operator>
          <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve Threshold Data" width="90" x="45" y="300">
            <parameter key="repository_entry" value="//CCM Suggestion Engine/Threshold Data"/>
          </operator>
          <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing (2)" width="90" x="179" y="345">
            <parameter key="replace_what" value=" "/>
            <parameter key="replace_by" value="_"/>
          </operator>
          <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join" width="90" x="246" y="210">
            <parameter key="use_id_attribute_as_key" value="false"/>
            <list key="key_attributes">
              <parameter key="Metric_ID" value="Metric_ID"/>
            </list>
          </operator>
          <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values" width="90" x="581" y="165">
            <parameter key="attribute" value="HCP_ID"/>
            <process expanded="true">
              <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples" width="90" x="313" y="120">
                <list key="filters_list">
                  <parameter key="filters_entry_key" value="HCP_ID.equals.%{loop_value}"/>
                </list>
              </operator>
              <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values (2)" width="90" x="581" y="210">
                <parameter key="attribute" value="Metric_ID"/>
                <parameter key="iteration_macro" value="Primary_metric"/>
                <process expanded="true">
                  <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (2)" width="90" x="45" y="30">
                    <parameter key="parameter_expression" value="Metric_Value&gt;=Lower_Threshold&amp;&amp;Metric_Value&lt;=Upper_Threshold&amp;&amp;Metric_ID==macro(&quot;Primary_metric&quot;)"/>
                    <parameter key="condition_class" value="expression"/>
                    <list key="filters_list">
                      <parameter key="filters_entry_key" value="Metric_Value.ge.Lower_Threshold"/>
                      <parameter key="filters_entry_key" value="Metric_Value.le.Upper_Threshold"/>
                    </list>
                  </operator>
                  <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve Metric Data" width="90" x="45" y="255">
                    <parameter key="repository_entry" value="Metric Data"/>
                  </operator>
                  <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing (3)" width="90" x="179" y="255">
                    <parameter key="replace_what" value=" "/>
                    <parameter key="replace_by" value="_"/>
                  </operator>
                  <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (4)" width="90" x="313" y="165">
                    <parameter key="parameter_expression" value="Primary_Metric_ID==macro(&quot;Primary_metric&quot;)"/>
                    <parameter key="condition_class" value="expression"/>
                    <list key="filters_list"/>
                  </operator>
                  <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join (2)" width="90" x="380" y="30">
                    <parameter key="use_id_attribute_as_key" value="false"/>
                    <list key="key_attributes">
                      <parameter key="Metric_ID" value="Primary_Metric_ID"/>
                    </list>
                  </operator>
                  <operator activated="true" class="multiply" compatibility="6.4.000" expanded="true" height="94" name="Multiply" width="90" x="447" y="165"/>
                  <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values (3)" width="90" x="581" y="210">
                    <parameter key="attribute" value="Metric_ID"/>
                    <process expanded="true">
                      <operator activated="true" class="replace_missing_values" compatibility="6.4.000" expanded="true" height="94" name="Replace Missing Values" width="90" x="380" y="390">
                        <list key="columns">
                          <parameter key="Diagnostic_Metric_ID" value="zero"/>
                        </list>
                      </operator>
                      <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (3)" width="90" x="514" y="390">
                        <parameter key="parameter_expression" value="Diagnostic_Metric_ID==0"/>
                        <parameter key="condition_class" value="expression"/>
                        <list key="filters_list"/>
                      </operator>
                      <connect from_port="example set" to_op="Replace Missing Values" to_port="example set input"/>
                      <connect from_op="Replace Missing Values" from_port="example set output" to_op="Filter Examples (3)" to_port="example set input"/>
                      <connect from_op="Filter Examples (3)" from_port="example set output" to_port="out 1"/>
                      <portSpacing port="source_example set" spacing="0"/>
                      <portSpacing port="sink_out 1" spacing="0"/>
                      <portSpacing port="sink_out 2" spacing="0"/>
                    </process>
                  </operator>
                  <operator activated="true" class="append" compatibility="6.4.000" expanded="true" height="76" name="Append" width="90" x="715" y="255"/>
                  <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join (3)" width="90" x="782" y="120">
                    <parameter key="use_id_attribute_as_key" value="false"/>
                    <list key="key_attributes">
                      <parameter key="Diagnostic_Metric_ID" value="Metric_ID"/>
                      <parameter key="HCP_ID" value="HCP_ID"/>
                    </list>
                  </operator>
                  <connect from_port="example set" to_op="Filter Examples (2)" to_port="example set input"/>
                  <connect from_op="Filter Examples (2)" from_port="example set output" to_op="Join (2)" to_port="left"/>
                  <connect from_op="Retrieve Metric Data" from_port="output" to_op="Rename by Replacing (3)" to_port="example set input"/>
                  <connect from_op="Rename by Replacing (3)" from_port="example set output" to_op="Filter Examples (4)" to_port="example set input"/>
                  <connect from_op="Filter Examples (4)" from_port="example set output" to_op="Join (2)" to_port="right"/>
                  <connect from_op="Join (2)" from_port="join" to_op="Multiply" to_port="input"/>
                  <connect from_op="Multiply" from_port="output 1" to_op="Join (3)" to_port="left"/>
                  <connect from_op="Multiply" from_port="output 2" to_op="Loop Values (3)" to_port="example set"/>
                  <connect from_op="Loop Values (3)" from_port="out 1" to_op="Append" to_port="example set 1"/>
                  <connect from_op="Append" from_port="merged set" to_op="Join (3)" to_port="right"/>
                  <connect from_op="Join (3)" from_port="join" to_port="out 1"/>
                  <portSpacing port="source_example set" spacing="0"/>
                  <portSpacing port="sink_out 1" spacing="0"/>
                  <portSpacing port="sink_out 2" spacing="0"/>
                </process>
              </operator>
              <connect from_port="example set" to_op="Filter Examples" to_port="example set input"/>
              <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Values (2)" to_port="example set"/>
              <connect from_op="Loop Values (2)" from_port="out 1" to_port="out 1"/>
              <portSpacing port="source_example set" spacing="0"/>
              <portSpacing port="sink_out 1" spacing="0"/>
              <portSpacing port="sink_out 2" spacing="0"/>
              <description align="center" color="yellow" colored="false" height="105" resized="false" width="180" x="607" y="208">Type your comment</description>
            </process>
          </operator>
          <operator activated="true" class="append" compatibility="6.4.000" expanded="true" height="76" name="Append (2)" width="90" x="715" y="165"/>
          <connect from_op="Retrieve HCP Data" from_port="output" to_op="Rename by Replacing" to_port="example set input"/>
          <connect from_op="Rename by Replacing" from_port="example set output" to_op="Join" to_port="left"/>
          <connect from_op="Retrieve Threshold Data" from_port="output" to_op="Rename by Replacing (2)" to_port="example set input"/>
          <connect from_op="Rename by Replacing (2)" from_port="example set output" to_op="Join" to_port="right"/>
          <connect from_op="Join" from_port="join" to_op="Loop Values" to_port="example set"/>
          <connect from_op="Loop Values" from_port="out 1" to_op="Append (2)" to_port="example set 1"/>
          <connect from_op="Append (2)" from_port="merged 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>
  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University Professor Posts: 3,503 RM Data Scientist
    Hi,

    i think there is a append missing after Loop Values (2).

    ~Martin
    - Sr. Director Data Solutions, Altair RapidMiner -
    Dortmund, Germany
  • Karan_KansalKaran_Kansal Member Posts: 9 Contributor II
    Hi Martin,

    I tried using an Append after loop Values (2) but I am still facing the same issue. The XML code is given below after using Append:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="6.4.000">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="6.4.000" expanded="true" name="Process">
        <process expanded="true">
          <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve HCP Data" width="90" x="45" y="75">
            <parameter key="repository_entry" value="//CCM Suggestion Engine/HCP Data"/>
          </operator>
          <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing" width="90" x="112" y="165">
            <parameter key="replace_what" value=" "/>
            <parameter key="replace_by" value="_"/>
          </operator>
          <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve Threshold Data" width="90" x="45" y="300">
            <parameter key="repository_entry" value="//CCM Suggestion Engine/Threshold Data"/>
          </operator>
          <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing (2)" width="90" x="179" y="345">
            <parameter key="replace_what" value=" "/>
            <parameter key="replace_by" value="_"/>
          </operator>
          <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join" width="90" x="246" y="210">
            <parameter key="use_id_attribute_as_key" value="false"/>
            <list key="key_attributes">
              <parameter key="Metric_ID" value="Metric_ID"/>
            </list>
          </operator>
          <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values" width="90" x="581" y="165">
            <parameter key="attribute" value="HCP_ID"/>
            <process expanded="true">
              <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples" width="90" x="313" y="120">
                <list key="filters_list">
                  <parameter key="filters_entry_key" value="HCP_ID.equals.%{loop_value}"/>
                </list>
              </operator>
              <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values (2)" width="90" x="514" y="210">
                <parameter key="attribute" value="Metric_ID"/>
                <parameter key="iteration_macro" value="Primary_metric"/>
                <process expanded="true">
                  <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (2)" width="90" x="45" y="30">
                    <parameter key="parameter_expression" value="Metric_Value&gt;=Lower_Threshold&amp;&amp;Metric_Value&lt;=Upper_Threshold&amp;&amp;Metric_ID==macro(&quot;Primary_metric&quot;)"/>
                    <parameter key="condition_class" value="expression"/>
                    <list key="filters_list">
                      <parameter key="filters_entry_key" value="Metric_Value.ge.Lower_Threshold"/>
                      <parameter key="filters_entry_key" value="Metric_Value.le.Upper_Threshold"/>
                    </list>
                  </operator>
                  <operator activated="true" class="retrieve" compatibility="6.4.000" expanded="true" height="60" name="Retrieve Metric Data" width="90" x="45" y="255">
                    <parameter key="repository_entry" value="Metric Data"/>
                  </operator>
                  <operator activated="true" class="rename_by_replacing" compatibility="6.4.000" expanded="true" height="76" name="Rename by Replacing (3)" width="90" x="179" y="255">
                    <parameter key="replace_what" value=" "/>
                    <parameter key="replace_by" value="_"/>
                  </operator>
                  <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (4)" width="90" x="313" y="165">
                    <parameter key="parameter_expression" value="Primary_Metric_ID==macro(&quot;Primary_metric&quot;)"/>
                    <parameter key="condition_class" value="expression"/>
                    <list key="filters_list"/>
                  </operator>
                  <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join (2)" width="90" x="380" y="30">
                    <parameter key="use_id_attribute_as_key" value="false"/>
                    <list key="key_attributes">
                      <parameter key="Metric_ID" value="Primary_Metric_ID"/>
                    </list>
                  </operator>
                  <operator activated="true" class="multiply" compatibility="6.4.000" expanded="true" height="94" name="Multiply" width="90" x="447" y="165"/>
                  <operator activated="true" class="loop_values" compatibility="6.4.000" expanded="true" height="76" name="Loop Values (3)" width="90" x="581" y="210">
                    <parameter key="attribute" value="Metric_ID"/>
                    <process expanded="true">
                      <operator activated="true" class="replace_missing_values" compatibility="6.4.000" expanded="true" height="94" name="Replace Missing Values" width="90" x="380" y="390">
                        <list key="columns">
                          <parameter key="Diagnostic_Metric_ID" value="zero"/>
                        </list>
                      </operator>
                      <operator activated="true" class="filter_examples" compatibility="6.4.000" expanded="true" height="94" name="Filter Examples (3)" width="90" x="514" y="390">
                        <parameter key="parameter_expression" value="Diagnostic_Metric_ID==0"/>
                        <parameter key="condition_class" value="expression"/>
                        <list key="filters_list"/>
                      </operator>
                      <connect from_port="example set" to_op="Replace Missing Values" to_port="example set input"/>
                      <connect from_op="Replace Missing Values" from_port="example set output" to_op="Filter Examples (3)" to_port="example set input"/>
                      <connect from_op="Filter Examples (3)" from_port="example set output" to_port="out 1"/>
                      <portSpacing port="source_example set" spacing="0"/>
                      <portSpacing port="sink_out 1" spacing="0"/>
                      <portSpacing port="sink_out 2" spacing="0"/>
                    </process>
                  </operator>
                  <operator activated="true" class="append" compatibility="6.4.000" expanded="true" height="76" name="Append" width="90" x="715" y="255"/>
                  <operator activated="true" class="join" compatibility="6.4.000" expanded="true" height="76" name="Join (3)" width="90" x="782" y="120">
                    <parameter key="use_id_attribute_as_key" value="false"/>
                    <list key="key_attributes">
                      <parameter key="Diagnostic_Metric_ID" value="Metric_ID"/>
                      <parameter key="HCP_ID" value="HCP_ID"/>
                    </list>
                  </operator>
                  <connect from_port="example set" to_op="Filter Examples (2)" to_port="example set input"/>
                  <connect from_op="Filter Examples (2)" from_port="example set output" to_op="Join (2)" to_port="left"/>
                  <connect from_op="Retrieve Metric Data" from_port="output" to_op="Rename by Replacing (3)" to_port="example set input"/>
                  <connect from_op="Rename by Replacing (3)" from_port="example set output" to_op="Filter Examples (4)" to_port="example set input"/>
                  <connect from_op="Filter Examples (4)" from_port="example set output" to_op="Join (2)" to_port="right"/>
                  <connect from_op="Join (2)" from_port="join" to_op="Multiply" to_port="input"/>
                  <connect from_op="Multiply" from_port="output 1" to_op="Join (3)" to_port="left"/>
                  <connect from_op="Multiply" from_port="output 2" to_op="Loop Values (3)" to_port="example set"/>
                  <connect from_op="Loop Values (3)" from_port="out 1" to_op="Append" to_port="example set 1"/>
                  <connect from_op="Append" from_port="merged set" to_op="Join (3)" to_port="right"/>
                  <connect from_op="Join (3)" from_port="join" to_port="out 1"/>
                  <portSpacing port="source_example set" spacing="0"/>
                  <portSpacing port="sink_out 1" spacing="0"/>
                  <portSpacing port="sink_out 2" spacing="0"/>
                </process>
              </operator>
              <operator activated="true" class="append" compatibility="6.4.000" expanded="true" height="76" name="Append (3)" width="90" x="648" y="210"/>
              <connect from_port="example set" to_op="Filter Examples" to_port="example set input"/>
              <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Values (2)" to_port="example set"/>
              <connect from_op="Loop Values (2)" from_port="out 1" to_op="Append (3)" to_port="example set 1"/>
              <connect from_op="Append (3)" from_port="merged set" to_port="out 1"/>
              <portSpacing port="source_example set" spacing="0"/>
              <portSpacing port="sink_out 1" spacing="0"/>
              <portSpacing port="sink_out 2" spacing="0"/>
            </process>
          </operator>
          <operator activated="true" class="append" compatibility="6.4.000" expanded="true" height="76" name="Append (2)" width="90" x="715" y="165"/>
          <connect from_op="Retrieve HCP Data" from_port="output" to_op="Rename by Replacing" to_port="example set input"/>
          <connect from_op="Rename by Replacing" from_port="example set output" to_op="Join" to_port="left"/>
          <connect from_op="Retrieve Threshold Data" from_port="output" to_op="Rename by Replacing (2)" to_port="example set input"/>
          <connect from_op="Rename by Replacing (2)" from_port="example set output" to_op="Join" to_port="right"/>
          <connect from_op="Join" from_port="join" to_op="Loop Values" to_port="example set"/>
          <connect from_op="Loop Values" from_port="out 1" to_op="Append (2)" to_port="example set 1"/>
          <connect from_op="Append (2)" from_port="merged 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>
  • sgenzersgenzer Administrator, Moderator, Employee, RapidMiner Certified Analyst, Community Manager, Member, University Professor, PM Moderator Posts: 2,959 Community Manager
    Martin - when I put this XML into RM 7.0, I do NOT get a process.  Do you?
  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,993 RM Engineering
    Hi,

    not Martin, but answering anyway: Works for me. What does your log say when you do it?

    Regards,
    Marco
  • sgenzersgenzer Administrator, Moderator, Employee, RapidMiner Certified Analyst, Community Manager, Member, University Professor, PM Moderator Posts: 2,959 Community Manager
    I just paste the XML and then I see nothing in the process window.  From what I can tell, RM 7.0 tries to validate the process and then deletes it.  If I validate the process manually, the same result happens.  Does RM 7.0 not accept XML from prior versions?

    Scott
  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee, Member, University Professor Posts: 1,993 RM Engineering
    Hi,

    I have been using our development version so far and also just switched to the 7.0 release version. In both I can paste the process no problem. Does the "Log" panel show something when you paste your process?

    Regards,
    Marco
Sign In or Register to comment.