0

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

它工作得很好,我只是去研究如何添加使用 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])

4

2 回答 2

1

两个月来,这是一个不错的进步。一个不起眼的建议,您应该始终用简单的文字说明您的问题以及迄今为止开发的代码。这有助于回答的人。

形成您的代码,我的理解是您想要 [ISin] 的所有成员的“ALGO1”书籍,但成员“DE0001104776”除外。基于这种理解,使用下面的代码

NON EMPTY
ORDER
(
([Book].[Book].[ALGO1],{[Isin].[Isin].children-[Isin].[Isin].[DE0001104776]}),
[Notional.SUM],
BASC
) 
于 2019-11-19T19:28:23.143 回答
0

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

我只是尝试在我的过滤器中添加一个 <> 并且它有效!:)

这是一个例子。

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])

于 2019-11-22T11:59:42.670 回答