SSAS 2016和XMLA:检索和#x201C;MDSCHEMA#u ACTIONS”;特定场景下的行集

SSAS 2016和XMLA:检索和#x201C;MDSCHEMA#u ACTIONS”;特定场景下的行集,ssas,xmla,Ssas,Xmla,我正在开发一个Web客户端,它使用XMLA over HTTP调用与SSAS 2016多维数据集通信 当我的客户的用户单击基于此多维数据集的pivot网格中的一个单元格时,我想向他显示一个要执行的可用SSA“操作”列表 为此,我的代码使用一个XMLA“DISCOVER”命令和“MDSCHEMA_ACTIONS”请求类型,同时限制特定的单元格路径 当我限制一个度量值和一个维度属性成员时,我确实能够获得结果(场景A)-我获得一个包含一个操作的行集(“操作”) 但是,如果我添加另一个维度属性成员(场景

我正在开发一个Web客户端,它使用XMLA over HTTP调用与SSAS 2016多维数据集通信

当我的客户的用户单击基于此多维数据集的pivot网格中的一个单元格时,我想向他显示一个要执行的可用SSA“操作”列表

为此,我的代码使用一个XMLA“DISCOVER”命令和“MDSCHEMA_ACTIONS”请求类型,同时限制特定的单元格路径

当我限制一个度量值和一个维度属性成员时,我确实能够获得结果(场景A)-我获得一个包含一个操作的行集(“操作”)

但是,如果我添加另一个维度属性成员(场景B),我将得到一个空行集

当然,我认为这是由于DBA为单元格配置操作的方式造成的,但令我惊讶的是,当我使用MS Excel Pivot Table查询同一单元格的操作时(场景B),我得到了相同的操作(如所愿)

考虑到唯一明显的区别是添加了第二维度属性,我想利用您的经验来寻找一些线索,看看是什么导致了两个客户之间的不同结果

以下是两种方案的坐标:

场景A(返回了一个操作):

场景B(未能返回操作):

下面是两种方案的XMLA包装器:

<?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>

MDU操作
我的目录
我的名字
6.
在这里坐标
表格的
谢谢你的帮助

PS我试着用wireshark嗅探Excel请求到底是什么样子的,但它看起来像是编码的ASCII码,我无法理解

PS2:也在dba.stackexchange中发布:

(
[BusinessDate].[CURRENTWEEK].&[1],
[Owners].[Owner Id].&[34876],
[Measures].[Total Payment Amount]
)
<?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>