(入札で作業する SSAS 2008r2 を使用)
計算された期間メンバーと計算された準加算メジャーとの間の相互作用に関して、紛らわしい問題に遭遇しました。
記事「時間計算への別のアプローチ」の行に沿って作成された「期間」ディメンションがあり、ユーザーはメジャーを「先週」、「先月」などにフィルターできます。
これらの計算メンバーのコードは次のようになります。
Scope([Time Period].[LW]);
This = (ParallelPeriod([Time].[Date Hierarchy].[Week],
1,
[Time].[Date Hierarchy].currentmember)
, [Time Period].[Current]);
End Scope;
(明らかに、月と年では、parallelPeriod の最初のパラメーターが異なります:))
これらは、私が持っているほとんどすべてのメジャーでうまく機能します。その大部分は、在庫メジャーを除いて、テーブル値などの合計です。
在庫データは変動値 (2 イン、1 アウト、5 インなど) として保存され、任意の時点での合計在庫レベルは現在までの合計です。これらは、次のような計算によって達成されます。
Create Member CurrentCube.[Measures].[Stock Quantity] as
sum
(
null:tail(descendants([Time].[Date Hierarchy].CurrentMember,
[Time].[Date Hierarchy].[Date])).item(0)
, [Measures].[Stock Movement Quantity]
)
今問題に。時間は、4 年ごとに 53 週間の 4-4-5 週の月パターンに従って設定されます。
期間ディメンションから「先週」を使用すると、計算は期待どおりに機能し、問題はまったくありません。
「先月」を使用すると、「現在までの合計」の計算で第 5 週の株価変動の値が欠落しているように見えます (つまり、現在までの第 1 週、第 2 週、第 3 週、第 4 週の株価変動の合計を示し、すべての株価変動を除外しています)。 5 週目)。"Last Year" を使用する場合も同様ですが、53 週の株価変動値のみを除外します ("Last Year" を使用する場合は 5 週の株価変動を含みます)。ただし、クエリで次のメンバーを使用すると:
member [Measures].[Test] as
sum
(
null:tail(descendants(parallelperiod([Time].[Date Hierarchy].[Month],
1,
[Time].[Date Hierarchy].CurrentMember),
[Time].[Date Hierarchy].[Date])).item(0)
, [Measures].[Stock Movement Quantity])
それは正しく動作します。したがって、問題は [期間].[LW] または [期間].[LY] ディメンション メンバーが [メジャー].[在庫数量] 計算の合計と結合されている場合にあるようです...
だから私は問題がどこにあるか知っていると思います.誰かがこれを以前に見た、またはそれを修正する方法についてアドバイスを与えることができますか? (そして、可能であればなぜですか?機能する必要がありますが、ここでどこが間違っていたのか知りたいです!!)