2011-08-12 2 views
0

メンバーの名前または一意の名前でメンバをフィルタリングしようとしていますが、MDXを以下のSAP BW(XMLAを使用)で処理することはできません。SAP BWのメンバプロパティによる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でこのように使用していますが、常に動作します。

アイデア?

答えて

0

は、SAP BWで働いたことはありません、あなたはこの他のバージョンで試すことができます。

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

あなたはドットの直後に名前、固有名を使用することができますが、「非常に」MDX規格です。私は、MDX Filter関数が論理式を期待しているので、enclosing()も削除しました。そして、私はMDXで何が真実であるか分かりません。

ROWSでは空文字列が少し変わっていますか?

+0

ありがとうございます。ドットがうまく機能しなかった後、UniqueNameは名前のみが機能します。行はテスト目的でのみ空です。 – vrata

関連する問題