我正在尝试按名称或唯一名称过滤轴上的成员,我无法在MDB上使用MDX(通过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上使用它,它始终有效。
有什么想法吗?
答案 0 :(得分:0)
从未使用过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标准。我还删除了一个enclosing(),因为MDX Filter函数需要一个逻辑表达式。而且我不确定MDX中的(真实)是什么。
ROWS的空字符串有点奇怪不是吗?