在AdventureWork2012中,我写了这个查询:
select
[Measures].[Internet Sales Amount] on columns,
[Ship Date].[Calendar Year].[Calendar Year] .members on rows
from
[Adventure Works]
where
[Sales Territory].[Sales Territory Country].&[Australia];
但我想在多维立方体中的命名集中编写此查询。 我无法使用过滤功能,因为我无法根据其他维度过滤维度。我搜索了很多,我发现像这样使用子立方体:
select [Measures].[Internet Sales Amount] on columns,
[Ship Date].[Calendar Year].[Calendar Year] .members on rows
from
(Select [Sales Territory].[Sales Territory Country].&[Australia] on columns from [Adventure Works])
但我想在我的立方体中创建一个命名集,以便为澳大利亚显示轴上的年份。但我不知道如何在我的命名集中编写子立方体。请帮帮我。
答案 0 :(得分:0)
这是你需要的那种Set
吗?
WITH SET [OzzieYears] AS
NonEmpty(
[Ship Date].[Calendar Year].[Calendar Year].members,
(
[Sales Territory].[Sales Territory Country].&[Australia]
,[Measures].[Internet Sales Amount]
)
)
SELECT {} on 0,
[OzzieYears] on 1
FROM [Adventure Works]
要在多维数据集脚本中创建,请按照以下步骤进行操作:https://msdn.microsoft.com/en-us/library/ms166594.aspx
WITH
子句中的表达式应该有帮助。 NonEmpty
函数返回SET
:
NonEmpty(
[Ship Date].[Calendar Year].[Calendar Year].members,
(
[Sales Territory].[Sales Territory Country].&[Australia]
,[Measures].[Internet Sales Amount]
)
)
我不会玩多维数据集脚本,但我猜你可以添加这样的内容:
CREATE SET CURRENTCUBE.[OzzieYears]
AS NonEmpty(
[Ship Date].[Calendar Year].[Calendar Year].members,
(
[Sales Territory].[Sales Territory Country].&[Australia]
,[Measures].[Internet Sales Amount]
)
), DISPLAY_FOLDER = 'Sets' ;