Select MDX Builder-使用INSTR函数进行过滤
我是MDX的新手。我需要过滤所有包含子字符串“SBP1”的记录。当我单独输入每条记录时,它对我有效,如下所示: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
{[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];