メイン コンテンツをスキップする

緩やかに変化するディメンション(タイプ0からタイプ3)を使用したデータ変化をトラッキング

このシナリオでは、SCD(Slowly Changes Dimensions)を使用して、現在の従業員データと過去の従業員データの両方をMySQLテーブルに格納および管理するジョブについて説明します。

入力データには、[name] (名前)[age] (年齢)[role] (役割)[salary] (給与)などのさまざまな従業員の詳細が含まれており、入力データの統一性を確保するために別の[ID]カラム追加されています。

最初に、SCDを使って新しいMySQLテーブルに以下のような社員データを挿入します:

id;name;age;role;salary
1;Mark Smith;30;tester;11000.00
2;Thomas Johnson;32;developer;12000.00
3;Teddy Brown;33;tester;13000.00

そして、以下のようにアップデートされた従業員データを用いて、SCDを用いてテーブルをアップデートします。

id;name;age;role;salary
1;Mark Smith;31;tester;11000.00
2;Thomas Johnson;32;developer;12000.00
3;Teddy Brown;33;writer;13500.00

[Mark Smith] (マークスミス)の年齢が30歳から31歳に変更され、[Teddy Brown] (テディブラウン)の役割が[tester] (テスター)から[writer] (ライター)に変更され、給料が13000.00から13500.00に増額されていることがわかります。このシナリオでは、以下が行われます。

  • [name] (名前) フィールドのデータ変更を追跡したくないので、タイプ0SCDを実行します。

  • 新しい [age] (年齢)データで既存のデータを上書きする必要があるため、タイプ1SCDを実行します。

  • [role] (役割)データの完全な履歴が保持され、データが変更された新しいレコードが常に作成され、前のレコードは閉じたいので、それに対してSCDタイプ2メソッドが実行されます。

  • [salary] (給与)フィールドの現在および以前のディメンション値を保持する必要があるため、タイプ3SCDを実行します。

SCDタイプの詳細は、SCD管理方法論をご覧ください。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。