MDX 查询有效但忽略了 EXCEPT 子句

MDX query works but ignores the EXCEPT clause

我一直在开发自定义 dll(通过自定义 xll / Excel 插件调用)来构建 MDX 和 return 二维数据。

它运行良好,我刚刚开始研究如何添加使用 EXCEPT 发送排除列表的功能。

我建立了一个带过滤的查询,这个查询有效,除了它忽略了 EXCEPT。有比我拥有更多 MDX 的人(我大约 2 个月在哈哈 :))知道为什么吗?

谢谢

WITH  
Member  [Measures].[Book_Label] AS [Book].[Book].CURRENTMEMBER.MEMBER_CAPTION 
Member  [Measures].[Isin_Label] AS [Isin].[Isin].CURRENTMEMBER.MEMBER_CAPTION 
SELECT 
NON EMPTY 
{[Measures].[Book_Label],[Measures].[Isin_Label],[Measures].[Notional.SUM]} 
ON COLUMNS, 
NON EMPTY ORDER
(
EXCEPT(
FILTER(
([Book].CHILDREN,[Isin].CHILDREN), 
([Book].[Book].CURRENTMEMBER.MEMBER_CAPTION = "ALGO1")
), 
[Isin].[Isin].[DE0001104776]),
[Notional.SUM]
,
BASC) 
ON ROWS 
FROM[TraderCube] 
WHERE ([Date].[Date].[2019-11-18])

这是两个月内取得的不错进步。一个谦虚的建议,您应该始终用简单的词以及到目前为止开发的代码来说明您的问题。这有助于回答的人。

形成你的代码,我的理解是你想要 "ALGO1" 本书,其中包含 [ISin] 的所有成员,除了成员 "DE0001104776"。基于这种理解使用下面的代码

NON EMPTY
ORDER
(
([Book].[Book].[ALGO1],{[Isin].[Isin].children-[Isin].[Isin].[DE0001104776]}),
[Notional.SUM],
BASC
) 

我返回尝试将我目前正在使用的 1..n FILTER 生成器与 EXCEPT(应业务要求)结合使用。不幸的是,尽管查询通过了语法检查并执行,正如原始 post 中所报告的那样,cube/server 忽略了它。

我刚刚尝试在我的 FILTER 中添加一个 <> 并且成功了! :)

举个例子。

WITH  
  Member  [Measures].[Book_Label] AS [Book].[Book].CURRENTMEMBER.MEMBER_CAPTION 
  Member  [Measures].[Isin_Label] AS [Isin].[Isin].CURRENTMEMBER.MEMBER_CAPTION 
SELECT 
NON EMPTY {[Measures].[Book_Label],[Measures].[Isin_Label],[Measures].[Notional.SUM]} 
ON COLUMNS, 
NON EMPTY 
ORDER( 
FILTER(
([Book].CHILDREN,[Isin].CHILDREN), 
(([Book].[Book].CURRENTMEMBER.MEMBER_CAPTION = \"ALGO1\") AND 
([Isin].[Isin].CURRENTMEMBER.MEMBER_CAPTION <> \"DE0001102309\"))
),[Notional.SUM],
BASC) 
ON ROWS 
FROM[TraderCube] 
WHERE([Date].[Date].[2019-11-21])