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) に戻る必要があるだけです。

ラグを使用することを考えましたが、このスキームに適合するかどうかはよくわかりません。これについて何かアドバイスはありますか?

ありがとう!

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]) と、そのディメンションの 1 つのメンバー (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 に答える