1

我有一个“趋势”维度。层次结构是趋势->周->日。该事实与“Day”键相关联。不能保证给定一周内的所有天都存在度量值。

当用户想要查看“周”级别的度量时,我只需要显示该周的最后一个空天值。我有多个度量,因此我对为每个度量创建一个新的计算度量不感兴趣(例如如何在 MDX 中将级别的总和显示为其最后一个子级的值

相反,有没有办法创建一个命名集,我可以用它来实现如下功能?

例子

Week    Day    Measure
1       1      4
1       2      5
2       3      7
2       7      9
3       5      10

应该达到“周”级别

Week    Day    Measure
1       2      5
2       7      9
3       5      10

谢谢!:)

4

1 回答 1

1

如果您想创建一个可重复用于多个度量的计算成员,您可以创建一个仅包含一堆计算成员的实用程序维度。不知道如何在 SSAS 中做到这一点(我熟悉 icCube)。然后,您可以在请求中使用此层次结构来应用计算的成员。

让我们举个例子。我称效用维度为 [Stats]。它的默认成员是返回当前度量值的计算成员。它包含 [Last Day] 计算。成员。

与成员 [统计].[统计].[最后一天] AS (

NonEmpty( 

   Order( [Trend].[Trend].currentMember.children, 
          [Trend].[Trend].currentMember.properties( 'key', TYPED ), 
          BDESC 
   ), 
   [Stats].[Stats].defaultMember 

).item(0), 

[Stats].[Stats].defaultMember  )

SELECT [Measures].members on 0, [Trend].[Trend].[Week].members on 1

FROM [你的立方体]

WHERE [统计].[统计].[上个月]

您可以在应用于 SELECT 的每个 [MEasures] 的切片器中看到 [Last Month] 的技巧。然后它的公式是使用当前 [MEAsures] 的 [Days] 的 NonEmpty(根据键与 order() 反转 - 您可能需要调整)。

于 2012-09-27T09:05:36.493 回答