Select MDX Builder-使用INSTR函数进行过滤

Select MDX Builder-使用INSTR函数进行过滤,select,mdx,Select,Mdx,我是MDX的新手。我需要过滤所有包含子字符串“SBP1”的记录。当我单独输入每条记录时,它对我有效,如下所示: {[Article].[Article Alternative ID CPG].[SBP1 0],[Article].[Article Alternative ID CPG].[SBP1 1],[Article].[Article Alternative ID CPG].[SBP1 W]} 工作代码: SELECT NON EMPTY {[Measures].[Val

我是MDX的新手。我需要过滤所有包含子字符串“SBP1”的记录。当我单独输入每条记录时,它对我有效,如下所示:
{[Article].[Article Alternative ID CPG].[SBP1 0],[Article].[Article Alternative ID CPG].[SBP1 1],[Article].[Article Alternative ID CPG].[SBP1 W]}

工作代码:

SELECT 
  NON EMPTY 
    {[Measures].[Value]} ON COLUMNS
 ,NON EMPTY 
    {
        [Article].[Article Alternative ID CPG].[Article Alternative ID CPG].ALLMEMBERS*
        [Article].[Market].[Market].ALLMEMBERS*
        [Article].[Brand].[Brand].ALLMEMBERS*
        [Article].[Product].[Product].ALLMEMBERS
    }
  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME
   ON ROWS
FROM 
(
  SELECT 
    {
      [Article].[Article Alternative ID CPG].[SBP1  0]
     ,[Article].[Article Alternative ID CPG].[SBP1  1]
     ,[Article].[Article Alternative ID CPG].[SBP1  W]
    } ON COLUMNS
  FROM 
  (
    SELECT 
      {[Measure Data Type].[Data Type].[Actuals]} ON COLUMNS
    FROM 
    (
      SELECT 
        {[Org Sales Area].[Sales Organization Key].[DEB1]} ON COLUMNS
      FROM 
      (
        SELECT 
          {[Org Sales Area].[Distribution Channel].&[DO]} ON COLUMNS
        FROM 
        (
          SELECT 
            {[Org Business Unit].[Business Unit].[U-K]} ON COLUMNS
          FROM 
          (
            SELECT 
              {[Measure Item].[Measure Item].&[KF00310]} ON COLUMNS
            FROM 
            (
              SELECT 
                {[Date of Posting].[Posting Y Q M D].[Posting Year].&[2017]} ON COLUMNS
              FROM [COLOR LEAN CPG]
            )
          )
        )
      )
    )
  )
)
WHERE 
  (
    [Date of Posting].[Posting Y Q M D].[Posting Year].&[2017]
   ,[Measure Item].[Measure Item].&[KF00310]
   ,[Org Business Unit].[Business Unit].[U-K]
   ,[Org Sales Area].[Distribution Channel].&[DO]
   ,[Org Sales Area].[Sales Organization Key].[DEB1]
   ,[Measure Data Type].[Data Type].[Actuals]
  )
CELL PROPERTIES 
  VALUE
 ,BACK_COLOR
 ,FORE_COLOR
 ,FORMATTED_VALUE
 ,FORMAT_STRING
 ,FONT_NAME
 ,FONT_SIZE
 ,FONT_FLAG;
如何使用instr功能更有效地执行此操作? 我试过这个,但不起作用:

SELECT 
  [Measures].[Value] ON COLUMNS
 ,Filter
  (
    [Article].[Article Alternative ID CPG].[Article Alternative ID CPG].ALLMEMBERS
   ,
      Instr
      (
        [Article].[Article Alternative ID CPG].[Article Alternative ID CPG].CurrentMember.Name
       ,'SBP1'
      )
    > 0
  ) ON ROWS
FROM [COLOR LEAN CPG];
我的MDX statament有什么问题?
谢谢你

我想你在应用
CURRENTMEMBER
功能时可能已经走得有点远了。试试这个:

SELECT 
  [Measures].[Value] ON COLUMNS
 ,Filter
  (
    [Article].[Article Alternative ID CPG].[Article Alternative ID CPG].ALLMEMBERS
   ,
      Instr
      (
        [Article].[Article Alternative ID CPG].CurrentMember.Name   //<<[Article].[Article Alternative ID CPG].[Article Alternative ID CPG].CurrentMember.Name
       ,'SBP1'
      )
    > 0
  ) ON ROWS
FROM [COLOR LEAN CPG];

我找到了一个有效的MDX语句:

筛选器([Article].[Main Article Alternative ID CPG].[Main Article Alternative ID CPG].[Main Article].[Main Article Alternative ID CPG].currentmember.Properties('Member_Caption'),'SBP1')>0)


但我不知道该解决方案如何转换为纯GUI MDX BUILDER a,请将其插入其中。

感谢您的回复,但似乎仍然错误(我尝试了MEMBERCAPTION和aslo CurrentMember.Name):在列上选择[Measures].[Value],过滤器([Article].[Article Alternative ID CPG].[Article Alternative ID CPG].ALLMEMBERS,Instr([Article].[Article Alternative ID CPG].CurrentMember.MEMBERCAPTION,'SBP1')>0),位于[COLOR LEAN CPG]的行上;“谢谢你的回复,但似乎还是错了”。。。。如果我的回答是如此错误,那么您的解决方案中为什么使用“[Article].[Article Alternative ID CPG].CurrentMember”?尝试使用您的原始实现来实现它!(这永远不会起作用,
[Article].[Article Alternative ID CPG].[Article Alternative ID CPG].[Article Alternative ID CPG].CurrentMember
)这就是我所说的
,我想在我的回答中应用CurrentMember函数时,您可能走得有点远了。。。这是你剧本的主要问题这意味着什么
但我不知道如何将此解决方案转换为纯GUI MDX BUILDER并将其插入其中。
SELECT 
  [Measures].[Value] ON COLUMNS
 ,Filter
  (
    [Article].[Article Alternative ID CPG].[Article Alternative ID CPG].ALLMEMBERS
   ,
      Instr
      (
        [Article].[Article Alternative ID CPG].CurrentMember.MEMBERCAPTION
       ,'SBP1'
      )
    > 0
  ) ON ROWS
FROM [COLOR LEAN CPG];