我想要实现的目标看起来非常简单,但我无法使其发挥作用。 我的事实是订单有一个日期,我有一个典型的时间维度与'月'和'年'水平。
我想得到一个输出,列出过去6个月的订单数量和总数,如下所示:
Oct 2009 20 Nov 2009 30 Dec 2009 25 Jan 2009 15 Feb 2010 45 Mar 2010 5 Total 140
我可以使用2009年10月至2010年3月的成员创建该集合,并设法获得我想要的输出的这一部分:
Oct 2009 20 Nov 2009 30 Dec 2009 25 Jan 2009 15 Feb 2010 45 Mar 2010 5
我没能得到总线。
答案 0 :(得分:2)
您可以通过将ALL成员添加到集合中然后将其全部包装在VisualTotals()函数中来实现此目的
SELECT
... on COLUMNS,
VISUALTOTALS (
{[Month].[Month].[Oct 2009]:[Month].[Month].[Mar 2010]
, [Month].[Month].[All] }
) ON ROWS
FROM <cube>
答案 1 :(得分:1)
这是Adventure Works DW演示立方体的一种可能的解决方案。查询选择最后6个订单计数并在日期维度上添加总和:
WITH MEMBER [Date].[Calendar].[Last 6 Mth Order Count] AS
aggregate(
ClosingPeriod([Date].[Calendar].[Month], [Date].[Calendar].[All Periods]).Lag(6)
: ClosingPeriod([Date].[Calendar].[Month], [Date].[Calendar].[All Periods])
)
SELECT {[Measures].[Order Count]} ON COLUMNS
, {ClosingPeriod([Date].[Calendar].[Month], [Date].[Calendar].[All Periods]).Lag(6)
: ClosingPeriod([Date].[Calendar].[Month], [Date].[Calendar].[All Periods])
,[Date].[Calendar].[Last 6 Mth Order Count]}
ON ROWS
FROM [Adventure Works]