Ssas MDX:如何根据top count获取上一个期间?

Ssas MDX:如何根据top count获取上一个期间?,ssas,mdx,Ssas,Mdx,我必须计算出今年的前十大品牌,然后得到去年的相同数字。。。但我发现这有点棘手 我为今年迄今为止排名前十的品牌设置了以下内容 我的日期是一个参数(月-年),到目前为止一切正常 filter(TopCount( ([10 - Brand].[Brand].Allmembers) * {STRTOMEMBER(@DATE)} ,10, [Measures].[Act YTD] ), [Measures].[Act Y

我必须计算出今年的前十大品牌,然后得到去年的相同数字。。。但我发现这有点棘手

我为今年迄今为止排名前十的品牌设置了以下内容

我的日期是一个参数(月-年),到目前为止一切正常

filter(TopCount(
              ([10 - Brand].[Brand].Allmembers) * {STRTOMEMBER(@DATE)}
          ,10,
         [Measures].[Act YTD]
          ), [Measures].[Act YTD] <> null)

我需要指导:)

您可以尝试使用Union和Parallelperiod函数,类似这样的函数,具体取决于您的名称日期维度、层次结构和级别:

Union(filter(TopCount(
              ([10 - Brand].[Brand].Allmembers) * {STRTOMEMBER(@DATE)}
          ,10,
         [Measures].[Act YTD]
          ), [Measures].[Act YTD] <> null)
,
filter(TopCount(
              ([10 - Brand].[Brand].Allmembers) * {PARALLELPERIOD([Date].[Calendar Year].[Calendar Year], 1, STRTOMEMBER(@DATE))}
          ,10,
         [Measures].[Act YTD]
          ), [Measures].[Act YTD] <> null))
Union(过滤器(TopCount(
([10-品牌].[Brand].所有成员)*{strotmember(@DATE)}
,10,
[措施][年初至今法案]
),[Measures]。[Act YTD]null)
,
过滤器(TopCount)(
([10-品牌][Brand].所有成员)*{PARALLELPERIOD([Date].[Calendar Year].[Calendar Year],1,STRTOMEMBER(@Date))}
,10,
[措施][年初至今法案]
),[Measures]。[Act YTD]null)
我找到了解决方案

现在我将结果显示为列,而不是以行的形式显示

由于行分组和列分组,我不得不重新设计报告

通过这种方式,我可以根据今年的日期创建前10个集合,并获得Y-1度量值

Year | Quarter |   Month   | Brand | Act YTD | Act YTD -1 | 
2019 | 20193   |  Aug 2019 | BR01  | 150     | 100        | 
2019 | 20193   |  Aug 2019 | BR02  | 250     | 200        | 
2019 | 20193   |  Aug 2019 | BR03  | 350     | 300        | 
2019 | 20193   |  Aug 2019 | BR04  | 450     | 400        | 
2019 | 20193   |  Aug 2019 | BR05  | 550     | 500        | 
2019 | 20193   |  Aug 2019 | BR06  | 650     | 600        | 
2019 | 20193   |  Aug 2019 | BR07  | 750     | 700        | 
2019 | 20193   |  Aug 2019 | BR08  | 850     | 800        | 
2019 | 20193   |  Aug 2019 | BR09  | 950     | 900        | 
2019 | 20193   |  Aug 2019 | BR10  | 1150    | 1000       | 

但在这种情况下,我们有前一阶段的前10个品牌,实际上我想要今年前10个品牌的前一阶段。这就像两个步骤:1-获得ytd前10名品牌2-回顾一年,看看他们的表现如何
Year | Quarter |   Month   | Brand | Act YTD | Act YTD -1 | 
2019 | 20193   |  Aug 2019 | BR01  | 150     | 100        | 
2019 | 20193   |  Aug 2019 | BR02  | 250     | 200        | 
2019 | 20193   |  Aug 2019 | BR03  | 350     | 300        | 
2019 | 20193   |  Aug 2019 | BR04  | 450     | 400        | 
2019 | 20193   |  Aug 2019 | BR05  | 550     | 500        | 
2019 | 20193   |  Aug 2019 | BR06  | 650     | 600        | 
2019 | 20193   |  Aug 2019 | BR07  | 750     | 700        | 
2019 | 20193   |  Aug 2019 | BR08  | 850     | 800        | 
2019 | 20193   |  Aug 2019 | BR09  | 950     | 900        | 
2019 | 20193   |  Aug 2019 | BR10  | 1150    | 1000       |