Package mondrian.spi

Interface UserDefinedFunction.Argument

  • Enclosing interface:
    UserDefinedFunction

    public static interface UserDefinedFunction.Argument
    • Method Detail

      • getType

        Type getType()
        Returns the type of the argument.
        Returns:
        Argument type
      • evaluateScalar

        Object evaluateScalar​(Evaluator evaluator)
        Evaluates the argument as a scalar expression.

        The effect is the same as evaluate(mondrian.olap.Evaluator) except if the argument evaluates to a member or tuple. This method will set the context to the member or tuple and evaluate the current measure, whereas evaluate would return the member or tuple.

        The effect is similar to creating a calculated member in an MDX query:

        WITH MEMBER [Measures].[Previous Period] AS
          ([Measures].[Unit Sales], [Time].[Time].PrevMember)
        SELECT {[Measures].[Unit Sales],
            [Measures].[Previous Period]} on 0,
          [Time].[Time].Children on 1
        FROM [Sales]

        Note how [Measures].[Previous Period] is defined as a tuple, but evaluates to a number.

        Parameters:
        evaluator - Evaluation context
        Returns:
        Scalar expression at the given member or tuple
      • evaluateList

        List evaluateList​(Evaluator eval)
        Evaluates the argument to a list of members or tuples.
        Parameters:
        eval - Evaluation context
        Returns:
        List of members or tuples.
      • evaluateIterable

        Iterable evaluateIterable​(Evaluator eval)
        Evaluates the argument to an iterable over members or tuples.
        Parameters:
        eval - Evaluation context
        Returns:
        Iterable over members or tuples.