まず、SSAS は初めてです。しかし、私が達成したいことはかなり些細なことのようです (私は願っています)。
秒単位で発生するトランザクション データがあります。そして、2 つの時間次元を作成しました。1 つのディメンションは、時間ディメンション ウィザードを使用した標準の時間ディメンションに基づいています。もう 1 つは、1 日の 1 秒ごとの記録を持つ独自のスクリプトによって生成された時間ディメンションです。
ファクト テーブルをディメンションにリンクし、キューブを適切に配置しました。私のファクト データ内の属性の 1 つは価格です。最小値と最大値を使用して、特定の期間に発生した最高価格と最低価格を取得できました。私が取得したいのは、ある期間に発生した最初と最後の価格です。「最初の値」と「最後の値」を使用してみましたが、返されるものが正しくありません。何らかの集計のようです。
たとえば。1 分間の価格が次の場合:
1233、1233.85、1300、1250
最初は 1233 を返し、最後は 1250 を返す必要があります。これは常に機能するはずです。
追加するには、カスタム時間ディメンションのタイプを「時間」に設定しようとしましたが、結果は同じままです。提案をいただければ幸いです。私は基本的に、基になる値と最後の値の最初の値を取得しようとしています。
そこへの道のりの一部を取得するクエリの例:
SELECT NON EMPTY
{ [Measures].[High]
, [Measures].[Low]
, [Measures].[Price Count]
, [Measures].[Price]
} ON COLUMNS
, NON EMPTY
{ [Dim Date].[Year - Week - Date].[Date].ALLMEMBERS
* HEAD( [Dim Time].[Hour - Second].[Second].ALLMEMBERS )
} ON ROWS
FROM [Cube]
price count 列に複数のレコードがあることに注意してください。ここから最初のレコードが必要ですが、実際の合計は必要ありません。