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

问题描述 投票:0回答:2

我一直在研究自定义dll(通过自定义xll / Excel插件调用)来构造MDX并返回2D数据。

效果很好,我只是想出如何添加使用EXCEPT发送排除列表的功能。

我建立了一个带过滤的查询,该查询有效,但它忽略了EXCEPT。 MDX比我多的人(我在哈哈大约2个月了:)知道原因吗?

谢谢

Leigh

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])
ssas mdx cube multidimensional-cube
2个回答
1
投票

两个月来进展不错。一个卑鄙的忠告,您应该始终用简单的文字说明问题,以及到目前为止开发的代码。这有助于该人回答。

[形成您的代码,我的理解是,您希望与[ISin]的所有成员(除成员“ DE0001104776”以外的所有成员一起使用“ ALGO1”书籍。基于这种理解,请使用下面的代码

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

0
投票

我返回尝试将当前正在使用的1..n FILTER构建器与EXCEPT结合使用(业务要求)。不幸的是,尽管查询通过了语法检查并执行了,但正如原始文章中所报告的那样,多维数据集/服务器忽略了它。

我只是尝试在我的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])
© www.soinside.com 2019 - 2024. All rights reserved.