6

株式市場からの 1 日の終わりの財務データを格納するために使用されている SSAS 2008 キューブがあります。キューブは、市場が閉じた後に 1 日に 1 回だけ処理されるため、現在の日中取引データに関する情報はまったくありません。また、現在の日中の株式取引情報を格納するリレーショナル データベースもあります。現在の価格に基づく株式の 30 日間の移動平均や過去 29 日間の履歴データなどの計算を実行できるように、これら 2 つのデータ ソースを組み合わせる方法を見つけようとしています。SSAS Standard エディションを使用しているため、現在のデータをほぼリアルタイムで処理するのに役立つプロアクティブ キャッシュや複数のパーティションなどの機能にアクセスできません。

個々のクエリのコンテキストで、SQL データベースの行をファクト テーブルに動的に含める方法はありますか? 基本的に、特定の計算を処理するために、データの小さなサブセットを一時的にキューブに取り込むだけですか?

4

4 に答える 4

1

いいえ、OLTP テーブルにマップするメジャー グループを作成する必要があります

于 2012-10-16T14:17:43.443 に答える
0

現在のデータ用のパーティションを作成し、ストレージモードとしてROLAPを指定できるはずです。

メンテナンスを簡素化するために、おそらくファクトテーブルのビューを作成し、定義では、where句で日付関数を使用します。何かのようなもの:

CREATE VIEW CurrentTrades AS

SELECT * FROM factTrades 
    WHERE TradingDate BETWEEN DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) AND DATEADD(dd, 1, DATEDIFF(dd, 0, GETDATE()))

次に、そのビューをROLAPパーティションのデータソースとして使用できます。

于 2012-10-15T15:41:42.913 に答える
0

独自の DLL を作成し、MDX 内から呼び出すことができます。あまり優雅ではありませんが、私は過去にそれをやったことがあります。

数千行のデータの場合は良い考えではありませんが、100 行未満が必要な場合は、関数呼び出しで MDX から DLL に値を渡すことができ、DLL は SQL データベースを呼び出して数値を返すことができます。次に、OLAP からの数値と一緒にセルセットに結果が表示されます。

于 2012-10-18T13:56:02.390 に答える
0

新しいデータの処理にかかる時間に応じて、日中の特定の時間間隔でキューブのデータを段階的に処理できます。(もちろん、遅延が許容される場合)

于 2012-10-16T18:32:23.037 に答える