def ifelse(arg, true_expr, false_expr): """ Shorthand for implementing ternary expressions bool_expr.ifelse(0, 1) e.g., in SQL: CASE WHEN bool_expr THEN 0 else 1 END """ # Result will be the result of promotion of true/false exprs. These # might be conflicting types; same type resolution as case expressions # must be used. case = _ops.SearchedCaseBuilder() return case.when(arg, true_expr).else_(false_expr).end()
def case(): """ Similar to the .case method on array expressions, create a case builder that accepts self-contained boolean expressions (as opposed to expressions which are to be equality-compared with a fixed value expression) Use the .when method on the resulting object followed by .end to create a complete case. Examples -------- expr = (ibis.case() .when(cond1, result1) .when(cond2, result2).end()) Returns ------- case : CaseBuilder """ return _ops.SearchedCaseBuilder()