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.

How to use one attribute to subtract against another attribute

c_cheec_chee Member Posts: 19 Maven
In a dataset, the attribute names are:
State   2020  2019  2018  2017  2016

What is required is the difference between the numeric columns, say:
column diff2020 = column 2020 - column 2019.

I've tried using loop_attribute operator. Inside this loop process, I have a Generate Attribute operator.
For this Generate Attribute operator:
the attribute_name is:    diff_%{loop_attribute}
the function expression is:    eval(%{loop_attribute}) - eval(%{loop_attribute}-1)

the above is an incorrect function expression. What should the correct function expression be?


Thanks
Chee


Best Answer

  • c_cheec_chee Member Posts: 19 Maven
    Solution Accepted
    Found the answer. 

    In the Generate Attribute, the function expression syntax is: (#{loop_var} - #{prevloop_var})/ #{prevloop_var}

    This is the column based operations to calculate relative difference between two consecutive years.

    The attribute(column) names are loop_var created using Set Macro and the calculated name prevloop_var using Generate Macro.

Answers

  • c_cheec_chee Member Posts: 19 Maven
    following above, I've discovered the syntax for column is the square brackets.

    So it would be something like [2020] - [2019]    if we write manually.
    But programmatically for many columns, it should be:
       [%{loop_attribute} ]   - [ %{loop_attribute} -1 ]

    Obviously, the syntax above is wrong. But can anyone tell me what should the syntax be, that can be entered into the Generate Attributes field.

    Thanks
    Chee

Sign In or Register to comment.