There is a similar topic about this on the forum in 2012 where this was happening and it was aparently fixed in a later SR. However I am still getting this on the latest 2013.1 and SR
The problem: We have a large dimension with 3 million members - when dragging on the name attribute on a filtered query (only 4 of these return in the query) and expanding the All member on the grid (not the filters at the top) the pivot grid excutes a nice MDX statement that NonEmpty()s the measures and other filters nicely and gets the four members and values - however after that a DISCOVER request via XMLA is fired which asks for all 3 million names that is sent back (Quite a huge payload - when we cut back to 150k members it was a 140mb response).
Any attempt to use the InitXmlaMethod event has been unsuccessful because the Discover command is called without firing the event - so we are unable to inject a RestrictionList.
Are there any work arounds for this? Can we use any options to prevent certain attributes from loading their members in the filters since they would be impractical to render and select from?
Hello,
Thank you for your post. I have been looking into it and I am wondering what are your DataSource default settings and if you are using a Slicer. Also it would be great if you could send us your query from a Fiddler or whatever you use to run it, so we could be able to investigate this further for you.
Looking forward for your reply.
Thanks Stefan,
I am not using a slicer - just a single dimension and fact. The datasource is using the standard
Datasource settings are the default settings from the examples except we use basic authentication against msmdpump with a XmlaNetworkCredential in the DataSource.Credentials property).
Expanding the all member causes two requests:
The selection criteria - Returns 40k for 5 records:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header />
<soap:Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
<Command>
<Statement>SELECT
NON EMPTY
{[Source].[Source Name].[All]}
DIMENSION PROPERTIES
CHILDREN_CARDINALITY
,PARENT_UNIQUE_NAME
ON COLUMNS
FROM [Haulage]
WHERE ([Measures].[Tonnes])</Statement>
</Command>
<Properties>
<PropertyList>
<Catalog>Cubes</Catalog>
<Cube>Haulage</Cube>
</PropertyList>
</Properties>
</Execute>
</soap:Body>
</soap:Envelope>
Fiddler shows us this discover request straight after (also when you expand the filter on its own) that does not go through the event (returns 140mb for 150k records):
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>MDSCHEMA_MEMBERS</RequestType>
<Restrictions>
<RestrictionList>
<CATALOG_NAME xmlns="">Cubes</CATALOG_NAME>
<CUBE_NAME xmlns="">Haulage</CUBE_NAME>
<TREE_OP xmlns="">1</TREE_OP>
<MEMBER_UNIQUE_NAME xmlns="">[Source].[Source Name].[All]</MEMBER_UNIQUE_NAME>
</RestrictionList>
</Restrictions>
</Discover>
Hello again,
I am just checking the progress of this issue and was wondering if you managed to achieve your goal or if you need any further assistance on the matter.
Hi Stefan,
Sadly due to project pressures and our users constantly bumping into this we had to switch to another control.
Thanks for the help.
Thank you for your feedback. Feel free to write us again, when you have time, and we will be happy to assist you further.