1

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.

PS2: posted also in dba.stackexchange: https://dba.stackexchange.com/questions/183515

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Israel
  • 1,184
  • 2
  • 13
  • 26

0 Answers0