Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

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,529 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,996 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,996 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.