0

軸上のメンバーを名前または一意の名前でフィルター処理しようとしていますが、SAP BW (XMLA 経由) で MDX を取得できません。

SELECT 
{Filter([Z_PRODUCT].AllMembers, ([Z_PRODUCT].CurrentMember.Properties("MEMBER_NAME") = ""))} 
DIMENSION PROPERTIES MEMBER_NAME on COLUMNS, 
{} on ROWS FROM [BASIS_PS/OPPLEV099]

フィルターで ...CurrentMember.Propreties("MEMBER_UNIQUE_NAME") または ...CurrentMember.UniqueName を使用しようとしましたが、どれも機能しませんでした。返されるエラーは次のとおりです。

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
                     SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
  <SOAP-ENV:Fault>
   <faultcode>XMLAnalysisError.0x80000005</faultcode>
   <faultstring>The XML for Analysis provider encountered an error</faultstring>
   <faultactor>XML for Analysis Provider</faultactor>
   <detail>
     <Error ErrorCode="2147483653" Description="
Invalid MDX command with <member>.properties( <string> )" Source="XML for Analysis     Provider" HelpFile="" />
   </detail>
  </SOAP-ENV:Fault>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

MS Analysis Services でこのように使用すると、常に機能します。

何か案は?

4

1 に答える 1

0

Never worked with SAP BW, can you try this other version :

SELECT 
 {Filter([Z_PRODUCT].AllMembers, [Z_PRODUCT].CurrentMember.Name = "" )} DIMENSION PROPERTIES MEMBER_NAME on COLUMNS, 
 {} on ROWS
FROM [BASIS_PS/OPPLEV099]

You can use directly Name, UniqueName after the dot, is 'very' MDX standard. I removed also an enclosing () as the MDX Filter function is expecting a logical expression. And I'm not sure what is (true) in MDX.

It's a bit strange an empty string for ROWS isn't it ?

于 2011-08-12T15:46:54.713 に答える