SSAS 2016 and XMLA: Problem retreiving "MDSCHEMA_ACTIONS" Rowsets under specific scenario

by Israel   Last Updated August 15, 2017 10:06 AM

I'm developing a Web client that uses XMLA over HTTP calls to communicate with a SSAS 2016 Cube.

When my client's user clicks on a cell in a pivot grid that is based on this cube, I would like to show him a list of available SSAS "Actions" to perform.

To do so, my code uses a XMLA "DISCOVER" command with "MDSCHEMA_ACTIONS" Request Type, while restricting on the specific cell path.

I do manage to get results when I restrict on one measure and one dimension attribute member (Scenario A) - I get a rowset with one action ("the Action")

But, if I add another dimension attribute member (Scenario B), I get en empty rowset.

Naturally, I thought that this is due to the way the DBA has configured the Actions for the cells, but to my surprise, when I used MS Excel Pivot Table and queried the actions for the exact same cell (Scenario B), I did got the same Action (as wished).

I would like to use your experience to find some clues as to what might cause the different results between the two clients, given that the only apparent difference is adding the second dimension attribute.

Here are the Coordinates for both scenarios:

Scenario A (Returned an Action):

(
[BusinessDate].[CURRENTWEEK].&[1],
[Measures].[Total Payment Amount]
)

Scenario B (Failed to return an Action):

(
[BusinessDate].[CURRENTWEEK].&[1],
[Owners].[Owner Id].&[34876],
[Measures].[Total Payment Amount]
)

And here is the XMLA wrapper for BOTH Scenarios:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <SOAP-ENV:Body>
  <Discover xmlns="urn:schemas-microsoft-com:xml-analysis" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <RequestType>MDSCHEMA_ACTIONS</RequestType>
   <Restrictions>
    <RestrictionList>
     <CATALOG_NAME>my_catalog</CATALOG_NAME>
     <CUBE_NAME>my_cube_name</CUBE_NAME>
     <COORDINATE_TYPE>6</COORDINATE_TYPE>
     <COORDINATE>COORDINATE-GOES-HERE</COORDINATE>
    </RestrictionList>
   </Restrictions>
   <Properties>
    <PropertyList>
     <Format>Tabular</Format>
    </PropertyList>
   </Properties>
  </Discover>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Appreciate any help!

PS I've tried to sniff with wireshark how exactly the Excel request looks like, but it looks like encoded ASCII that I couldnt understand.

Tags : ssas client


Related Questions


How do I get the Query Timing with sqlcmd?

Updated May 23, 2017 04:06 AM

SQL Server Native Client ODBC Connection Fails

Updated March 01, 2017 14:06 PM



How make an SSAS Tabular model case sensitive?

Updated August 10, 2017 10:06 AM