1

倉庫内のアイテムの動きを追跡する SSAS キューブがあります。アイテムはさまざまな場所でスキャンされるため、アイテムがスキャンされた日時 (HH:MM:SS) があります。クエリがスライスされる属性に基づいて動的にしたいので、ファクト テーブルで事前に定義されていない計算メジャーを作成できるようにしたいと考えています。

したがって、それに対応するために、次のように、有効な日付と有効な時間が交差する SET を作成すると考えました。

WITH SET [Valid Date]
AS FILTER([WMSR Date].[Full Date].[Full Date].MEMBERS,[Measures].[Fact Scans Count]>0)

SET [Valid Time]
AS FILTER(([Valid Date]*[Time].[Full Time].[Full Time].MEMBERS),[Measures].[Fact Scans Count]>0)

したがって、これを実行すると:

SELECT {[Measures].[Fact Scans Count]} ON COLUMNS,
[Valid Time] ON ROWS
FROM
    WarehouseCube
WHERE
    [Piece].[Dim ID Key].&[1127981]

特定のアイテムについて、スキャンの日付/時刻、およびカウントが表示されます。前の行から日付/時刻を取得するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

あなたが使用することができます

[ValidTime].Item(Rank(([WMSR Date].[Full Date].CurrentMember, [Time].[Full Time].CurrentMember),
                      [ValidTime])
                 - 2
                )

このRank関数は、セット内のタプルの位置を返します。このItem関数は、セットの特定の位置にあるタプルを返します。はRank最初のアイテムに対して 1 を返しますが、最初のアイテムに対してItem0 を期待しているため、1 位置に戻りたい場合は、2 を引く必要があります。

于 2013-10-17T16:51:26.943 に答える