0

我有一个与 Microsoft Technologies 的多维数据集相关的问题,我们有一个基于 BIDS 2008 版本的 SSAS 多维数据集,要求是对前十二个月的测量数量进行分组(总和),并在一维中排除一些值。

我在多维数据集内提出了如下计算:

CREATE MEMBER CURRENTCUBE.[Measures].[N-12]
 AS Sum
    (
      (
        Except
        (
          [Dim Sistema Corporativo].[Sistema Corporativo].[Id Sistema]
         ,{
            [Dim Sistema Corporativo].[Sistema Corporativo].[Id Sistema].&[3]
           ,[Dim Sistema Corporativo].[Sistema Corporativo].[Id Sistema].&[4]
          }
        )
       ,lastperiods(12,
          [Dim Tiempo].[Fecha].CURRENTMEMBER
        )
      )
     ,
       [Measures].[importe]

    )/*Lime*/,
VISIBLE = 1  ; 

我得到这样的东西:

Row        Importe       N-12
2011    12399121166 12399121166
01.2011 1040785565  1040785565
02.2011 1069453202  2110238768
03.2011 1359303502  3469542269
04.2011 1068266294  4537808563
05.2011 1163538168  5701346731
06.2011 1146393010  6847739741
07.2011 936369144.8 7784108886
08.2011 1000363518  8784472404
09.2011 859885351.7 9644357755
10.2011 779035206.2 10423392962
11.2011 933409920.9 11356802882
12.2011 1042318283  12399121166
2012    25162093544 22225879797
01.2012 -40878580.57    11317457020
02.2012 678706164.3 10926709982
03.2012 16323643149 10555714716
04.2012 947692878   10435141301
05.2012 1057496411  10329099544
06.2012 1103249990  10285956525
07.2012 976810086.3 10326397466
08.2012 1046738046  10372771994
09.2012 1027644991  10540531634
10.2012 1108157924  10869654352
11.2012 932832484   10869076915
12.2012             9826758631
2013                22225879797
2014                22225879797
2015                22225879797
2016                22225879797
2017                22225879797
2018                22225879797
2019                22225879797
2020                22225879797
2021                22225879797
2022                22225879797
2023                9826758631

如您所见,尽管用户要求我进行一些调整,但它正在做正确的事情:

第一个是,如果没有数据(标识为“importe”度量值组),多维数据集不会显示任何内容,并且如您所见,当默认度量值组没有数据时,它会显示未来几年(直到 2023 年)的空白区域.

第二个是当且仅当当前成员之前有 12 个月时,用户才想查看数据,例如,现在正在显示 2011 年的信息,但正如用户所说,它应该只显示 2012 年的数据,因为所有这些月份都有前 12 个月,而 2011 年没有 2010 年的数据,所以为此我应该有一个空值。

是否有可能做到这一点...???

或者您可以建议任何其他选项,例如直接影响事实表等等。

谢谢各位大侠指教。

4

1 回答 1

0

要检查当前成员上个月是否有 12 个,您可以使用如下表达式:

IIf(Count(
          NonEmpty(lastperiods(12, [Dim Tiempo].[Fecha].CURRENTMEMBER), 
                   [Measures].[importe])
          ) = 12,
    ...,
    ...)
于 2013-02-13T08:35:15.960 回答