Connecting output of Loop Value block to Join Input

Karan_Kansal
Karan_Kansal New Altair Community Member
edited November 2024 in Community Q&A
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

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • Karan_Kansal
    Karan_Kansal New Altair Community Member
    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>
  • MartinLiebig
    MartinLiebig
    Altair Employee
    Hi,

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

    ~Martin
  • Karan_Kansal
    Karan_Kansal New Altair Community Member
    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>
  • sgenzer
    sgenzer
    Altair Employee
    Martin - when I put this XML into RM 7.0, I do NOT get a process.  Do you?
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    Hi,

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

    Regards,
    Marco
  • sgenzer
    sgenzer
    Altair Employee
    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_Boeck
    Marco_Boeck New Altair Community Member
    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

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.