Class FilterFunDef

  • All Implemented Interfaces:
    FunDef

    class FilterFunDef
    extends FunDefBase
    Definition of the Filter MDX function.

    Syntax:

    Filter(<Set>, <Search Condition>)
    Since:
    Mar 23, 2006
    Author:
    jhyde
    • Method Detail

      • compileCall

        public Calc compileCall​(ResolvedFunCall call,
                                ExpCompiler compiler)
        Description copied from interface: FunDef
        Converts a call to this function into executable objects.

        The result must implement the appropriate interface for the result type. For example, a function which returns an integer must return an object which implements IntegerCalc.

        Specified by:
        compileCall in interface FunDef
        Overrides:
        compileCall in class FunDefBase
      • compileCallIterable

        protected IterCalc compileCallIterable​(ResolvedFunCall call,
                                               ExpCompiler compiler)
        Returns an IterCalc.

        Here we would like to get either a IterCalc or ListCalc (mutable) from the inner expression. For the IterCalc, its Iterator can be wrapped with another Iterator that filters each element. For the mutable list, remove all members that are filtered.

        Parameters:
        call - Call
        compiler - Compiler
        Returns:
        Implementation of this function call in the Iterable result style
      • compileCallList

        protected ListCalc compileCallList​(ResolvedFunCall call,
                                           ExpCompiler compiler)
        Returns a ListCalc.
        Parameters:
        call - Call
        compiler - Compiler
        Returns:
        Implementation of this function call in the List result style