Parallerperiod YTD MDX

私はYTDのMDXを持っています:

YTD( StrToMember(" [Time].[Year -  Month -  Date]   .&[" + Format(now(), "yyyy-MM-" + "01T00:00:00") + "]"))

そして、これはうまく動作します。

今、YTDの去年のMDXをしようとしています。

PARALLERPERIOD([Time].[Year -  Month -  Date].[Year],1,YTD)

しかし、それは動作していません。

私はどのように進めていくべきですか?

0
nl ru de
ええ、あなたは PARALLELPERIOD の意味ですか?それはちょうどタイプミスであると仮定します。実際には何が実際には機能していないのかを記述したいかもしれません。
追加された 著者 Jamiec,
あまりにも明確ではないことについて申し訳ありません、なぜ私は別のセットの作成にそのセット(YTD)を使用できませんか?
追加された 著者 user1800552,
プロセスは失敗します: '関数はメンバとタプルが使用されることを期待しています'
追加された 著者 user1800552,

2 答え

MSDN によると、ParallelPeriodは3番目の引数としてMember_Expressionを受け入れます。つまり、次のようなコードを使用できます。

  • [Time].[Year - Month - Date].CurrentMember
  • Tail(EXISTING [Time].[Year - Month - Date].[Year].allmembers,1).Item(0)
  • YTD(Tail(EXISTING [Time].[Year - Month - Date].[Year].allmembers,1).Item(0)).Item(0)

しかし、ParallelPeriod引数としてSET式または実際のSET(つまり{A:B}または軸参照)を使用することはできません

0
追加された

より良い選択は、以下のようにPY Measureを定義することです。

CREATE MEMBER CURRENTCUBE.[Measures].[Value PY] AS Null

このコードをスクリプトに追加する

([Measures].[Value PY] , [Time].[Year - Quarter - Month - Week - Day].MEMBERS) = Sum(Existing [Time].[Year - Quarter - Month - Week - Day].[Day].MEMBERS,  (ParallelPeriod([Time].[Year - Quarter - Month - Week - Day].[Year]), [Measures].[Value]))

このソリューションは、すべてのクエリで機能し、クエリでメンバーの単一のメンバーまたはセットを使用するかどうかは関係ありません。

0
追加された