[Mondrian] RE: VBA and Excel functions implemented in Java, for use in mondrian OLAP engine

Julian Hyde jhyde at pentaho.org
Sun Jan 6 15:53:47 EST 2008

I just checked in implementations of about 60 new VBA functions. I took
Will's classes for wrapping static Java functions as MDX functions, and
added a class Vba which contains a static method per VBA function, plus at
least one unit test for each function.


I went with Will's support for annotations, which definitely makes defining
a function more concise. JDK 1.4 (which doesn't support annotations) is a
bit dumber. In particular, the XMLA test expects the VBA functions to not
have descriptions under JDK 1.4.

Quite a few of the important VBA functions concern date/time support, so I
went further in making DateTime a first-class scalar type in mondrian. You
can now call functions which have DateTime arguments and results. However, I
wouldn't swear that DateTime measures or member properties work correctly;
someone else can take up that cross if they want that feature.

By the way, DateTime values are implemented using java.util.Date values;
it's up to the caller whether to regard them as Date, Time or combined
Date+Time values.

There are several functions which I want to implement in mondrian 3.0 but
have not done so yet. They are marked with 'todo: implement & test' or
'todo: implement' comments in Vba.java.


More information about the Mondrian mailing list