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.

"[SOLVED] catch the attribute name to a macro"

sfmoraissfmorais Member Posts: 13 Contributor II
edited June 2019 in Help
Hi everybody!

Is there any way to get the 'attribute name' of a example set (to put for example in a macro) to use later in a 'set data' operator ?  

In middle of my process I have one example set with only 1 example and 1 attribute (1 cell), but the attribute is not the same. I need to catch the name of that attribute to use later as parameter in the 'set data' operator.

Thanks for the help

Regards
Sérgio Morais
Tagged:

Answers

  • haddockhaddock Member Posts: 849 Maven
    Hi there,

    There may well be other ways, but you can loop through the attributes, like this..
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="5.1.013">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="5.1.013" expanded="true" name="Process">
        <process expanded="true" height="457" width="839">
          <operator activated="true" class="generate_data" compatibility="5.1.013" expanded="true" height="60" name="Generate Data" width="90" x="45" y="75"/>
          <operator activated="true" class="loop_attributes" compatibility="5.1.013" expanded="true" height="60" name="Loop Attributes" width="90" x="183" y="73">
            <process expanded="true" height="457" width="839">
              <operator activated="true" class="set_macro" compatibility="5.1.013" expanded="true" height="76" name="Set Macro" width="90" x="179" y="75">
                <parameter key="macro" value="%{MYMACRO}"/>
                <parameter key="value" value="%{loop_attribute}"/>
              </operator>
              <operator activated="true" class="provide_macro_as_log_value" compatibility="5.1.013" expanded="true" height="76" name="Provide Macro as Log Value" width="90" x="368" y="21">
                <parameter key="macro_name" value="%{MYMACRO}"/>
              </operator>
              <operator activated="true" class="log" compatibility="5.1.013" expanded="true" height="76" name="Log" width="90" x="514" y="18">
                <list key="log">
                  <parameter key="MYMACRO" value="operator.Set Macro.value.macro_value"/>
                </list>
              </operator>
              <connect from_port="example set" to_op="Set Macro" to_port="through 1"/>
              <connect from_op="Set Macro" from_port="through 1" to_op="Provide Macro as Log Value" to_port="through 1"/>
              <connect from_op="Provide Macro as Log Value" from_port="through 1" to_op="Log" to_port="through 1"/>
              <connect from_op="Log" from_port="through 1" to_port="example set"/>
              <portSpacing port="source_example set" spacing="90"/>
              <portSpacing port="sink_example set" spacing="0"/>
            </process>
          </operator>
          <connect from_op="Generate Data" from_port="output" to_op="Loop Attributes" to_port="example set"/>
          <connect from_op="Loop Attributes" from_port="example 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>
    Check out the text view of the log to see the results.

    Good luck.
  • sfmoraissfmorais Member Posts: 13 Contributor II

    Ok! Thanks. The example helped me.
Sign In or Register to comment.