Equivalent of MySQL "COALESCE"?

greggreg Member Posts: 23 Contributor II
Hi Community

I'm wondering if in rapidminer's formulas there is an equivalent of the command "coalesce" in mysql? Thats is a command which, given a list of parameters, returns the first non-null.

Example:

    DataFromSource1 = null
    DataFromSource2 = "foo"

coalesce(DataFromSource1, DatafromSource2, "default") would give "foo".

TIA

greg

Answers

  • CraigBostonUSACraigBostonUSA Administrator, Employee, Member Posts: 34 RM Team Member

    You can still use this function in SQL scripts, and insert SQL codes into RapidMiner for in-database SQL execution. (need “Read Database” or “Execute SQL” operators)

     

    In rapidminer you can combine several operators for the same operation. For example, “Filter Examples” to remove the missing values (NULL), and then “Filter Example Range” to pick the 1st element.

     

    I am attaching the example process here. Let me know if you have further questions.Filter Missing Values (Null).png

  • BalazsBaranyBalazsBarany Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert Posts: 955 Unicorn

    Example with the Labor-Negotiations dataset and Generate Attributes:

     

    if(missing([wage-inc-2nd]), -1, [wage-inc-2nd])

     

    Or even:

     

    if(missing([wage-inc-2nd]),
      if(missing([wage-inc-3rd]), -2,
        [wage-inc-3rd]),
      [wage-inc-2nd])

     

    Not as clean as coalesce() but not bad either.

     

    Regards,

     

    Balázs

Sign In or Register to comment.