Menu

#23 Weird error with Refresh All only

1.0
accepted
None
2016-12-14
2015-11-07
Nikola G
No

Hi there,

I'm seeing consistent error when using Refresh All in some situations with Excel 2013, but it might be the same with earlier Excel versions.

Depending on the expand collapse on certain rows/columns (or multiple filter selections) Excel (2013) seems to send a query like this:

WITH MEMBER [Measures].[XL_PT0] AS 'strtomember("[Account].[A123]").UniqueName' SELECT {[Measures].[XL_PT0]} ON 0 FROM [Test] CELL PROPERTIES VALUE

After this point Excel says the Cube didn't refresh properly. I used WinDBG with the code and it seems that Excel simply calls free axis info after getting the axis info, it never goes through getting the data returned by Mondrian, like it just gives up not liking what the Axis looks like.

As far as I can tell, Mondrian returns the information correctly, one column Measure axis with member XL_PT0 and the unique name of the member as value.

I tested this with MSAS-XMLA and their driver, same thing happens (when I look using Wire Shark) but it works for their driver and the response seems very similar to what Mondrian sends.

Here's one recipe on how to reproduce:

  1. You need one dimension with at least 4 levels and several members on each level.
  2. Map the dimension as columns, and expand level 1 member 1.
  3. Expand two of the members on level 2.
  4. On the first expanded member on level 2, expand one of the level 3 members, let's say this last expanded member is called [Member3].
  5. Lastly, collapse the first member on level 2. This will also hide all level 3 and level4 members.

At this point Excel remembers that we had expanded the [Member3] on level 3 at some point (even though it is collapsed), and keeps that list internally as the filter list on the DrillDownMember.

  1. Hit Referesh All. Excel will now issue one standard SELECT statement with various DrillDownLevel and DrillDownMember, but then for the hidden member on the inner most DrillDownMember it will make that WITH MEMBER query with strtomember and UniqueName. After this action I get that error: the Cube didn't referesh correctly.

Oddly enough, if I hit Refresh (instead of Refresh All) it works, as in there's no error, but it doesn't do anything differently for the Axis data for the WITH MEMBER query, it still doesn't come back asking for the cell data, however there's no error popup.

If we don't collapse the level 2 member (in step 5) Referesh All works, but Excel doesn't make the WITH MEMBER query.

I managed to reproduce the problem with filter options too, but it's more involved, again problem is only with Refresh All.

Any ideas?

Thanks a bunch in advance!

Discussion

  • Alexandra Davidoiu (Iancu)

    • status: open --> pending
    • assigned_to: Alexandra Iancu
     
  • Alexandra Davidoiu (Iancu)

    • status: pending --> accepted
     
  • Alexandra Davidoiu (Iancu)

    Thank you. We can reproduce it on our side as well. I'll let you know as soon as we have something.

     
  • Nikola G

    Nikola G - 2015-12-11

    Hi, it's possibly not an issue with the driver, but something Mondrian doesn't share. I actually took another look since at the differences in the XMLA output from MSAS and Mondrian and there's this Slicer axis supplied by MSAS at all times. It's possible that the problem has to do with that, I wonder if they simply expect that slicer axis no matter what.

     
  • Alexandra Davidoiu (Iancu)

    Hi Nikola (and Happy New Year).

    Can you give a try to the provider attached here? We think we have fixed this one.

     
  • Nikola G

    Nikola G - 2016-12-14

    Looks good. Thanks! Sorry for taking such a long time to respond.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.