【问题标题】:MDX filtering by member property on SAP BW在 SAP BW 上按成员属性过滤 MDX
【发布时间】:2011-08-12 13:13:40
【问题描述】:

我正在尝试按名称或唯一名称过滤轴上的成员,但我无法让 MDX 下面在 SAP BW(通过 XMLA)上工作。

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 上这样使用它,它总是有效。

有什么想法吗?

【问题讨论】:

    标签: sap mdx xmla


    【解决方案1】:

    从未使用过 SAP BW,您可以试试这个其他版本吗:

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

    可以直接使用Name,点后的UniqueName,是'非常'的MDX标准。我还删除了一个封闭的 (),因为 MDX Filter 函数需要一个逻辑表达式。而且我不确定 MDX 中什么是(真的)。

    ROWS 的空字符串有点奇怪,不是吗?

    【讨论】:

    • 谢谢,点后的 UniqueName 也不起作用,只有 Name 起作用。行为空仅用于测试目的。
    猜你喜欢
    • 2010-10-05
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 2012-09-10
    • 2014-06-24
    • 2011-11-08
    相关资源
    最近更新 更多