Alw*_*ing 5 mdx filter slice iccube
我正在使用icCube的Sales cube来学习MDX.我想写一个MDX查询,以显示2009年销售收入超过80,000美元的国家的销售收入.我尝试了以下方法,但它返回了一个只有一列的空表([Amount]):
WITH
SET [myset] AS Filter([Country].members, ([Measures].[Amount], [2010])>80000)
select [Country].members on 0, [Amount] on 1
from (select [myset] on 0, [Amount] on 1 from [sales])
where [2009]
Run Code Online (Sandbox Code Playgroud)
只需使用
WITH
SET [myset] AS Filter([Country].members, ([Measures].[Amount], [2010])>80000)
select [myset] on 0, [Amount] on 1
from [sales]
where [2009]
Run Code Online (Sandbox Code Playgroud)
在 MDX 中,此类查询不需要子选择或WHERE. 你甚至可以省略集合myset,写作
select Filter([Country].members, ([Measures].[Amount], [2010])>80000) on 0,
[Amount] on 1
from [sales]
where [2009]
Run Code Online (Sandbox Code Playgroud)
我在 Adventure Works 上尝试了类似的查询,它显示所有客户、澳大利亚、加拿大和美国,但不显示法国、德国和英国:
SELECT Filter([Customer].[Country].Members,
([Measures].[Internet Sales Amount], [Date].[Calendar Year].&[2006]) > 600000
)
ON 0,
{[Measures].[Internet Sales Amount]}
ON 1
FROM [Adventure Works]
WHERE [Date].[Calendar Year].&[2008]
Run Code Online (Sandbox Code Playgroud)