icCube

A few months ago I got a message via LinkedIn inviting me to check out a new OLAP server called icCube that supported MDX:
http://www.iccube.com/

Of course, me being me, this was an invitation I couldn’t refuse and I duly downloaded a copy and then had a chat on Skype with some of the guys from the company. This blog post isn’t a review (in keeping with my new policy of not doing reviews here) but I will say that even though it’s very early days for them – they haven’t released a version 1.0 just yet – they’re making good progress and have some interesting ideas on where to take the product too. Certainly the version I played around with worked fine and was very straightforward to use, and it’s worth checking out if you’re looking for a low-cost OLAP server to use or resell.

The thing that really interested me, though, was their willingness to add new functionality to MDX. Maybe because we’ve not seen anything new in MDX from Microsoft for five years now (will we ever?) that I get so excited by things like this… Anyway, one thing they’ve done is add the ability to declare new MDX functions in MDX itself, similar to something I asked for in SSAS MDX in a while ago:
http://www.iccube.com/support/documentation/mdx/DeclaredFunctions.html

Here’s an example:

​WITH FUNCTION REVERSESET(MYSET) AS
​GENERATE(MYSET AS TEMP, {MYSET.ITEM(COUNT(MYSET) – TEMP.CURRENTORDINAL)})
SELECT {[Measures].[Amount]} ON 0,
REVERSESET(​ [Time].[Calendar].[Month]​.MEMBERS)
ON 1
FROM ​ [Sales]​

What I’m doing here is declaring a function called REVERSESET that takes a set as a parameter and then returns the same set with the members in reverse order. I can see how this would be very useful for improving the readability and maintainability of code where the same logic is repeated across a number of complex MDX calculations.

Oh well, we can keep our fingers crossed and hope that the SSAS dev team haven’t decided to let MDX stagnate in favour of building up DAX.  

5 thoughts on “icCube

Leave a Reply to ChrisCancel reply