膨大なトラフィック データベース (通話データ レコード) があります。記録の量とハードウェアの制限により、ソースの詳細記録をレポートに使用することはできません。そのため、15 分間隔でリレーショナル データベースのレコードを要約し、すぐにソース データを切り捨てます。これらの要約されたレコード (一定期間のイベント) はウェアハウスに格納され、ファクト テーブル (MOLAP) に使用されます。期間/期間は SYS_TIME_SLICES ディメンション テーブルに格納されます。簡略化されたバージョンは次のとおりです。
CREATE TABLE [dbo].[SYS_TIME_SLICES] (
[ID] [int] IDENTITY(1, 1) NOT NULL,
[DATETIME_START] [datetime] NOT NULL,
[DATETIME_END] [datetime] NOT NULL
) ON [PRIMARY]
最初のレコードは次のとおりです。
DATETIME_START DATETIME_END
01-Jan-13 00:00:00 01-Jan-13 00:15:00
01-Jan-13 00:15:00 01-Jan-13 00:30:00
現在、これをキューブに入れていますが、ベスト プラクティスに従ってそれを行う方法がわかりません。「ステップバイステップ」の本、時間ディメンションと関連する BI に関するいくつかのインターネット チュートリアルを確認しましたが、まだ手がかりがありません。TIME_SLICES ディメンションを時間としてマークすると、奇妙な結果が生じました。DATETIME_END を DateEnded タイプとしてマークすると、さらに奇妙な結果が生じました。
私は SSAS には比較的慣れていませんが、SQL と顧客レポートを扱った 15 年の経験があるため、通常の SQL で何をしたいのか、どのようにそれを行うのかを理解しています。
時間、日、週、月の粒度でレポートを提供する必要があります。これは、何らかの階層が含まれる TIME_SLICES ディメンションの属性を手動で変更および構成するだけで簡単に実行できます (SSAS の特別な魔法は使用しません)。しかし、私は TIME ビジネス インテリジェンス (Day Over Day Growth など) の機能をすべて備えたいと考えています。
さらに重要なことは、古いデータ (6 か月以上) が更新されず、そのソース ウェアハウス テーブルがアーカイブされていることです。キューブでは、日ごとの詳細レベルのみの古いデータが必要なため、サーバーのスペースを節約できます。これは、パーティションを使用して何とか実現できますが、TIME の詳細についてはわかりません。
上記の考慮事項を考慮して、この時間スパン/期間ディメンションに対して推奨される/一般的なアプローチはありますか? ヒントはありますか?主題に関する本はありますか?倉庫のロジックを変更する必要がありますか?
これはSSAS - Facts that occur over a time rangeに関連していますが、少し異なる質問があります。2008r2 を使用していますが、必要に応じて 2012 にアップグレードできます。