Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternatives to OLAP SSAS Cube Pivot Tables in Excel

I am accessing OLAP SSAS Cubes on a 2005 SQL Server using Excel 2007 pivot tables and finding that refreshing some of the tables is taking >10 minutes. My coworkers seem to think it is a sad reality, but I am wondering if there are alternatives I should be looking into.

Some thoughts I have had:

Obviously if I could upgrade the server hardware I would, but I am merely an analyst with no such powers, so I don't think hardware improvements are a great option. The same is true of moving to a newer SQL server, which I imagine would also speed up the process.

Would updating to a newer version of excel speed up the process?

I came across this: http://olappivottableextend.codeplex.com/, which gives me access to the MDX, which is apparently comically inefficient (Sounds like the macro recorder for VBA to me), so would changing the MDX around (I know a bit of it and the queries it gives for the pivot tables don't seem that complicated) be an option?

Would running MDX outside of excel be an option? I can write the queries, but I imagine it would not be as simple as the pivot table is.

It just seems like OLAP Cubes are a great solution in a lot of ways and these are some massive pivot tables processing quite a bit of information, but if there is a reasonable way to speed up the whole process I would love to know more about it.

Thanks for your thoughts SO.

like image 552
asjohnson Avatar asked Nov 26 '12 22:11

asjohnson


1 Answers

There are many ways to access SSAS cubes, but it depends on what you are trying to achieve.

Excel tends to be used by business because

  • Its already installed
  • It is a familiar business tool
  • Easy to use
  • Requires no developer intervention

Other alternatives to Excel to access the cube include

  • SQL Server Analysis Services (management studio) via cube browser or mdx directly
  • SQL Server Reporting Services
  • Bespoke development (such as c#) utilising AdomdConnection
  • SQL Server (management studio) via OpenQuery

If you have been using Excel to access the cube so far, you will probably decide that none of the other tools quite cover your needs and you will end up sticking with it.

Assuming that Excel is the right tool for you, you should then move on to why is it slow. The list of possibilities (not including hardware / software) is long, but here are some;

  • It could be that it is external contention (to your project) on network / database / disk resource. The colume of data may be accumulating over time.
  • The cube may not be paritioned.
  • The questions you ask of it may be getting more complex.
  • The cube aggregations may not be utilised for your needs.
  • Cube partitioning may be missing
  • Cube structure may be inefficient as its supporting many-to-many relationships
  • User / query volume may have increased

To try to address the problem I would

  • Assess the data that you require within the cube (and maybe limit the cube to a rolling x month window)
  • Log your queries and apply Usage Based Optimisation
  • Monitor cube usage via SQL Server Profiler
  • Review the structure of your cube design
  • Attempt similar queries with other tools (both across the network and local to the cube) to establish where the issue lies
  • These two sites may help you if you establish Excel is the week point Excel, Cube Formulas, Analysis Services, Performance, Network Latency, and Connection Strings OR Excel, Cube Formulas, Analysis Services, Performance, Network Latency, and Connection Strings (which is on page 57 of SQLCAT's Guide to BI and Analytics)
like image 138
Daryl Wenman-Bateson Avatar answered Sep 28 '22 06:09

Daryl Wenman-Bateson