bugfix> sql-server > 投稿

以下のように、メジャーグループが異なる時間枠の2つのパーティションに分割されているキューブがあります。

  • 最新の2年間のデータ(PRT_DATA_2YEARS)

  • 2年より古いデータ(PRT_DATA_REST)

  • 最初のパーティションを処理することにより(処理オプションのいずれかを使用)、最後の2年間のデータのみを処理/更新するようにするにはどうすればよいですか?最新の2年間のデータのみが更新され、残りのデータはそのまま残ります。

    例:データベース上の実際のデータがすべての年にわたって更新されたとしましょう。そして今まで、キューブはまだ処理されていないため、これらの変更を反映していません。次に、キューブの最新2年間の更新データのみを更新またはフェッチするキューブ処理ジョブを実行します。そして、残りのデータはそのまま残ります。 2年以上経過したキューブデータは変更されません。

    これを解決するのを手伝ってくださいとお願いします。

    提案/ヒント/トリックは大歓迎です。

    よろしく

    回答 2 件
    • スライディングウィンドウパーティションから変更することをお勧めします。たとえば、昨日「最新の2年」のパーティションを処理したとき、2018年1月18日から2020年1月17日が含まれていました(または、それが完全な年の境界であるかどうかはわかりませんが、ポイントは同じです)。そのパーティションを使用すると、2018年1月18日のデータが失われ、古いパーティションも再処理する必要があります。

      代わりに、2016、2017、2018、2019、および2020の5つのパーティションに切り替えます。その後、2020パーティションのみを再処理でき、以前のパーティションを再処理する必要はありません。基本的に、増分処理を実現できます。 2016データのレポートを停止する準備ができたら、そのパーティションを削除し、2021パーティションを作成します。

    • 最初に、すべてのパーティションストレージメソッドがMOLAP(ROLAPまたはHOLAPではない)として定義されていることを確認します。次に、1つのパーティションを処理するだけで、他のパーティションは影響を受けません。ただし、他のパーティションに関連するディメンションを処理していないことを確認してください(再処理が必要な場合は、ProcessAddメソッドを使用してください)。

    あなたの答え