需要产生在MDX一个特定的输出和我在努力产生期望的结果。我正在尝试使用ADW Cube构建一个示例。获得同样的措施在两列并排的侧不同的时间段中MDX
我需要制作一个表格,我有三列:
- 某些类别(城市在这个例子中,但本专栏将 最终动态更改在SSRS所选参数),
- 一些措施该类别(在这个例子中网络销售部)某个月份的
- 同样的措施在第二列,但对于前一个月
表应该被过滤仅基于在第二列措施前三名最高的项目。
下面是我到目前为止所得到的一些简单的静态示例,但是这个想法基本上是这样的:用户在参数中选择一些值,这些值将对表格进行过滤的数据进行子集化(由[Country](Canada )在示例中)。然后,他将选择他希望得到结果的某个层级中的粒度级别(在该示例中由[City]表示)。他会选择期望的时间段(具体的[年份]和[月份])。在运行查询, 他应该得到类似的表如下(在那里他根据第二列前三名的结果):
Category Internet Sales Amount (CurrentPeriod) Internet Sales Amount (PreviousPeriod)
Langford $13,468.39 null
Vancouver $12,291.48 $7,447.26
Sooke $11,563.01 null
第一列代表所选择的粒度。第二列代表给定项目的选定年份组合的互联网销售额,第三列代表所选组合之前一个月的互联网销售额。
这是我到目前为止。我是能够产生表的前两列,但我很努力,包括第三列也是如此。我来自SQL,对于MDX来说是相当新颖的,所以如果我所问的问题看起来很简单,或者我迄今为止的方法与应该如何完成相关,那么请耐心等待。
SELECT [Measures].[Internet Sales Amount] ON 0,
TopCount
({[Customer].[City].[City].Members}
, 3
, [Measures].[Internet Sales Amount]
) ON 1
FROM [Adventure Works]
WHERE ([Customer].[Country].&[Canada],
[Date].[Calendar Year].&[2007],
[Date].[Month of Year].&[12])