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

"loop repository can not read"

blatooblatoo Member Posts: 32 Contributor II
edited June 2019 in Help
Hi all,

I am confused about the operator "loop repository".

I have a bundle of data set with the same format, I want use the "loop repository" to deal with all the data sets.

I made a small example: I want to "retrieve" all the data set in my folder. How can I do that?

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="6.1.000">
 <context>
   <input/>
   <output/>
   <macros/>
 </context>
 <operator activated="true" class="process" compatibility="6.1.000" expanded="true" name="Process">
   <process expanded="true">
     <operator activated="true" class="loop_repository" compatibility="6.1.000" expanded="true" height="76" name="Loop Repository" width="90" x="246" y="255">
       <parameter key="repository_folder" value="../data/sepData/"/>
       <process expanded="true">
         <operator activated="true" class="retrieve" compatibility="6.1.000" expanded="true" height="60" name="Retrieve" width="90" x="313" y="255">
           <parameter key="repository_entry" value="%{repository_path}%{entry_name}"/>
         </operator>
         <connect from_op="Retrieve" from_port="output" to_port="out 1"/>
         <portSpacing port="source_repository object" spacing="0"/>
         <portSpacing port="source_in 1" spacing="0"/>
         <portSpacing port="sink_out 1" spacing="0"/>
         <portSpacing port="sink_out 2" spacing="0"/>
       </process>
     </operator>
     <connect from_op="Loop Repository" from_port="out 1" 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>

Thanks!

Answers

  • Marco_BoeckMarco_Boeck Administrator, Moderator, Employee-RapidMiner, Member, University Professor Posts: 1,996 RM Engineering
    Hi,

    you almost had it ;)
    However the %{repository_path} contains the full path including the name of the ioobject already. So just remove %{entry_name} from the Retrieve operator parameter, and you're done. Otherwise you end up trying to find //Local Repository/folder/myDatamyData instead of //Local Repository/folder/myData

    Regards,
    Marco
  • blatooblatoo Member Posts: 32 Contributor II
    Hi Marco Boeck,

    thanks very much! It works! :-)
Sign In or Register to comment.