BIDSで時間ディメンションを再計算する


17

BIDSを使用して、SSAS 2008 r2でキューブを作成しています。

ウィザードを使用して時間ディメンションを作成しました。その構成の一部は、日付範囲の選択です。

作成後、当初指定したよりも広い日付範囲が必要であることに気付きました。

ディメンションを開いてプロパティに移動し、そこで日付範囲を再定義できることがわかりました。ディメンションを保存して再処理しましたが、テーブルの実際の日付範囲は新しく追加された日付を含むように拡大していません。

この時間ディメンションを成長させる別の方法はありますか、それともゼロから再作成する必要がありますか?


3
私は常に、開始日/終了日と粒度(秒、分など)をパラメーターとして受け入れるストアドプロシージャを使用して、ゼロから私を作成しました。
datagod

1
ウィザードを使用したのは、1日より細かいものは必要なく、ハタが組み込まれていたからです。私はSSAS初心者なので、抵抗の少ない道を探していました。
JNK

回避策として、これをゼロから再作成しましたが、これに対する別の解決策があるかどうか知りたいです。
-JNK

しかし、テーブル内の実際の日付範囲は、新しく追加された日付を含むように拡大して いません 元の期間は何でしたか?
イリヤベルディチェフスキー

@nikadim再処理後にディメンションを参照しました。また、キューブのプロセスを再度実行しましたが、参加しようとしていた日付が範囲外であったため失敗しました。オリジナルの範囲は2009から2012のようだったと私は2006--から追加
JNK

回答:


1

時間ディメンションはソースに接続されていますか、またはデータソースにテーブルがないサーバー時間ディメンションですか?

通常、BIDを使用して時間ディメンションを生成すると、これら2つのオプションが提供されるためです。

そして、あなたの場合、データソースにテーブルを持たないように見えます。つまり、分析サーバー自体にディメンションを作成するサーバー時間ディメンションを選択したということです。

そのため、日付を追加または追加することはできませんので、最初から作成し直す必要があります。

ただし、他のオプション「データソースでタイムテーブルを生成する」を選択した場合、このオプションは、基になるデータソースに時間ディメンションテーブルを作成し、提供された入力に基づいてデータを入力します。

データソースにテーブルを作成するためのアクセス権が必要です

この場合、テーブルにレコードを追加して再処理できます。

これは、時間ディメンションテーブルを作成して入力する簡単なスクリプトです。後で、このテーブルからキューブに時間ディメンションを生成できます。

http://microsoft-ssis.blogspot.com/2011/01/create-and-fill-time-dimension.html

ここに、時間ディメンションとそのオプションの生成に関する2つの記事があります

http://www.sqlservergeeks.com/blogs/AmitK/sql-server-bi/383/ssas-considerations-for-time-dimension-part1

http://www.sqlservergeeks.com/blogs/AmitK/sql-server-bi/385/sql-server-ssas-considerations-for-time-dimension-part-2


データソースにそのためのテーブルがありました。
JNK

時間ディメンションを作成してみましたが、作成して処理した後、時間ディメンションのプロパティから変更したようにデータ範囲を変更し、保存して再度処理し、ブラウザタブで[更新]をクリックして新しい日付を変更しましたこの仕事は、あなたがデータソーステーブルに手動で日付を追加してみてないとディメンションを再処理した場合.........表示
AmmarR

1

[時間ディメンションのプロパティ]ダイアログを見てください。Sourceノードを展開し、CalendarStartDateまたはCalendarEndDateをニーズに合わせて変更します。次に、ディメンションを再処理します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.