THE SQL Server Blog Spot on the Web
Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | Join | Help
in Search

Microsoft OLAP by Mosha Pasumansky

Score another point for XMLA and MDX

While some people are wondering whether ‘XMLA is dead’ and call to ‘Resurrect the XMLA Council’, the reality in the field is quite different. There are, of course, plenty of XMLA clients, and new ones being born – the server side, XMLA providers also gain numbers. Today open-source OLAP server Palo announced support for XMLA and MDX.

Actually, they announced even more – also support for OLEDB for OLAP (which is where XMLA came from). Of course, the biggest driver seems to be compatibility with Excel PivotTables, but whatever is driving it, it should be pretty clear to everyone, that XMLA is not dead, it is alive and well, even though there were no changes in the standard since 2003 – maybe it means we did such a good job on the standard, that XMLA 1.1 is enough for everything :)


Published Tuesday, October 14, 2008 10:21 AM by mosha
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Chris Webb said:

I think you're absolutely right, it's compatibility with Excel pivot tables that's driving this. But that only means that everyone's XMLA is compatible where it matters for Excel, and that's not all XMLA. I still think it would be great to see the XMLA council resurrected for the reasons I gave in the blog post you link to - it would make the client tools vendors lives much easier, and it would mean consultants like me and developers would be able to move between platforms more easily without having to remember so many platform-specific tricks and quirks.

October 14, 2008 6:52 PM
 

mosha said:

Chris, you seem to contradict yourself. You wrote in the comments:

"that only means that everyone's XMLA is compatible where it matters for Excel, and that's not all XMLA"

But in the blog that I linked to and you refer to, you wrote:

"More importantly though, the client tool that everyone really wants to use is Excel and if it were possible to hook Excel 2007 up to other OLAP engines then it would cement its position as the BI client tool of choice"

So it looks like the reason which you deemed to be most important - compatibility with Excel - is working fine - we see more and more OLAP engine which implement XMLA/MDX and become compatible with Excel - and as a bonus they also become compatible with all other third party tools. Seems like win-win-win scenario to me.

October 14, 2008 7:31 PM
 

georges said:

The major problem with the MDX/XMLA connectivity with Excel is that Excel does not support XMLA but requires an ODBO link, hence the requirement to buy a ODBO/XMLA "driver" and plug-it as a a data source in Excel.

This is rather odd as Analysis Server supports both ODBO and XMLA.

What is microsoft plan to support XMLA natively in Excel ?

October 15, 2008 3:24 AM
 

Chris Webb said:

I mean XMLA in the widest sense, which includes MDX. Excel is certainly the client tool that 'everyone' or at least the vast majority of people want to use, but Excel doesn't know and doesn't care about vast areas of MDX functionality - for example the MDX you use when you're writing calculated members. It's the cross-platform compatibility of that type of MDX that I'm referring to.

And to go back to XMLA, even if it were true to say that (for example)

* Excel can connect to Analysis Services

* Excel can connect to PALO

* Third-party client tool can connect to Analysis Services

It wouldn't follow that

* Third-party client tool can connect to PALO

For that to always be the case, the third party tool would have to use XMLA in exactly the same way as Excel does, and that's very unlikely isn't it?

October 15, 2008 4:57 AM
 

mosha said:

George - let's be clear - the main thing in XMLA is MDX support. Everything else - schema rowsets etc - is close to trivial. In this respect OLEDB for OLAP and XMLA are exactly the same.

I don't think Excel will ever switch to pure XMLA from OLEDB for OLAP for the following reasons:

1. Excel, just like any client tool, needs higher level of abstraction than level of parsing XML. ODBO provides it through IMDDataSet etc interfaces.

2. Excel wants to take advantage of more efficient network protocols that SSAS uses (over TCP/IP, compression, encryption, SX encoding of XML etc). ODBO (and ADOMD.NET) supports all that.

3. Excel being all native code cannot adopt managed object model such as ADOMD.NET - so it's only choice is ODBO.

Hope all this is convincing enough.

Chris - practically, without Excel there won't be enough incentive for OLAP servers to support XMLA - no matter how many councils will be out there. Free market beats committee controlled economy every time (hmm, didn't I see same argument in comments to your blog recently !). So we all should be happy that there exist such a strong market force as Excel, which forces everybody to be standard compliant.

October 15, 2008 3:15 PM
 

mosha said:

And Chris - you are wrong here:

> but Excel doesn't know and doesn't care about vast areas of MDX functionality - for example the MDX you use when you're writing calculated members.

Excel knows and cares about calculated members, even though there is no good UI for them, but the support is there in the Excel object model - take a look at http://www.codeplex.com/OlapPivotTableExtend for more details on it.

Excel, in fact, knows and cares about more MDX than there is in XMLA spec (subselects for example), but as a well-behaved client, it dynamicaly determines what provider supports (using standard XMLA mechanisms for that) and adjusts its query generation accordingly.

October 15, 2008 3:34 PM
 

Chris Webb said:

I'm not being clear - I know Excel knows about how to create a calculated member, but it doesn't (and probably never will) know how to define a calculated member. Could I take the same cube definition and the same calculated member, and be sure that calculated member would behave in exactly the same way and give the same results on two different platforms? I don't think so. More advanced client tools will want to be able to create their own calculated members (for example, for Pareto analysis) but can't guarantee that these calculated members will work consistently across platforms.

And anyway, whoever said it had to be a choice between the free market and committee control? Why can't we have both? Excel and the XMLA Council? Surely both is better than just one.

October 16, 2008 4:38 AM
 

georges said:

Thanks for your answer. I can understand your point of view.

So it seems the best alternative for an OLAP server is to offer both protocols ODBO and XMLA if we want to avoid deploying client side protocol converters.  

Where can we find the specifications of the ODBO protocol ?

Thanks

October 16, 2008 5:24 AM
 

mosha said:

> Where can we find the specifications of the ODBO protocol ?

http://msdn.microsoft.com/en-us/library/ms717005(VS.85).aspx

October 16, 2008 12:52 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit
Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement