Equivalent of MySQL "COALESCE"?

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

Answers

  • CraigBostonUSA
    CraigBostonUSA New Altair Community 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

  • BalazsBaranyRM
    BalazsBaranyRM New Altair Community Member

    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