0

试图提出一个查询,该查询将为我提供从今天起 365 天(以及 2 月之后的闰年,366 天)的一组日期。

这是我到目前为止得到的:

Select [Measures].[Revenue] on 0, non empty {[Trans Date].[Year - Week - Date].[Date], PARALLELPERIOD([Trans Date].[Year - Week - Date].[Year], 1,[Trans Date].[Year - Week - Date]) }on 1 from Cube

但这又可以追溯到“时间”的开始。我只需要它返回 365(或闰年的 366)。

考虑使用 Lag,但不太确定它是否适合此方案。有人对此有什么建议吗?

谢谢!

4

1 回答 1

0

首先,我将重新格式化您的查询以提高可读性。

SELECT [Measures].[Revenue] ON 0,
       NON EMPTY 
       {
         [Trans Date].[Year - Week - Date].[Date],
         PARALLELPERIOD([Trans Date].[Year - Week - Date].[Year],
                        1,
                        [Trans Date].[Year - Week - Date])
       } ON 1
FROM Cube

您在这里拥有的是整个Date级别 ( [Trans Date].[Year - Week - Date].[Date]) 的集合,以及来自该维度的单个成员(PARALLELPERIOD调用的结果)。

您想要的是一个范围的成员,这是通过范围运算符 :完成的。例如,

NON EMPTY
{
  PARALLELPERIOD([Trans Date].[Year - Week - Date].[Year],
                 1,
                 [Trans Date].[Year - Week - Date].[Date].CURRENTMEMBER)
  :
  [Trans Date].[Year - Week - Date].[Date].CURRENTMEMBER
} ON 1

<3

于 2012-03-08T02:44:22.913 回答