ファクトテーブルは、特定のビジネスイベントに関する定量的なメジャーを格納します。これは、特定のディメンションに基づいてデータを集計した結果です。たとえば、製品の売上を分析するために、売上ファクトテーブルを作成できます。このテーブルには、製品や時間などのディメンションテーブルへの外部キーと、総売上などのメジャーが格納されます。このトピックでは、ファクトテーブルの作成方法について説明します。
前提条件
データウェアハウス層を定義済みであること。データウェアハウス層は、異なる機能を持つテーブルを統合された層に整理し、アクセスと管理を簡素化します。ファクトテーブルは通常、データウェアハウス詳細 (DWD) 層に配置されますが、ビジネス要件に基づいて他の層に割り当てることもできます。詳細については、「データウェアハウス層の定義」をご参照ください。
ビジネスプロセスを作成済みであること。これにより、ファクトテーブルが格納するビジネスアクティビティデータが定義されます。詳細については、「ビジネスプロセス」をご参照ください。
概要
各ビジネスプロセスで生成されたデータを並べ替えて分析し、フィールドとしてファクトテーブルに格納します。たとえば、注文を行うビジネスプロセス用にファクトテーブルを作成し、注文 ID、注文作成時間、商品 ID、商品数、販売金額などの情報をファクトテーブルのフィールドとして記録できます。ファクトテーブルをデータウェアハウスにデプロイし、ETL 処理を実行して、ファクトテーブルで定義された形式でデータを集計および格納できます。これにより、ビジネス担当者はその後のデータ分析のためにデータにアクセスできます。
上記の図に示すように:
ファクトテーブルを作成する際:
ファクトテーブルのデータが格納されるデータウェアハウス層を指定できます。
ファクトテーブルを特定の業務カテゴリおよびビジネスプロセスに関連付けることができます。これにより、特定のカテゴリまたはプロセスに関連するすべてのファクトテーブルを簡単に見つけることができます。
ファクトテーブルの作成後、フィールドの追加、関連付けとパーティションの構成、および統一されたデータ標準の適用により、データドメイン全体のデータ整合性を確保できます。
構成後、ファクトテーブルをコンピューティングエンジンに公開および具体化して、データ分析を実行します。
ファクトテーブルの作成
データモデリングページに移動します。
DataWorks コンソールにログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データモデリングへ] をクリックします。
「Data Modeling」ページの上部のメニューバーで、Dimensional Modeling をクリックして、「Dimensional Modeling」ページを開きます。
ファクトテーブルを作成します。
「Dimensional Modeling」ページで、
アイコンにマウスをホバーし、「」をクリックします。ファクトテーブルの基本パラメーターを設定します。

パラメーター
説明
Data Layer
既存のデータウェアハウスレイヤーを選択します。パブリックレイヤーの DWD のみがサポートされています。詳細については、「データウェアハウスレイヤーを定義する」をご参照ください。
Business Category
既存の業務カテゴリを選択します。詳細については、「業務カテゴリ」をご参照ください。
Business Process
既存のビジネスプロセスを選択します。詳細については、「ビジネスプロセス」をご参照ください。
Storage Policy
ファクトテーブルのストレージポリシーを指定します。オプションには[日次増分データ]と[日次フルデータ]があります。
Naming Rule
事前設定されたチェッカーを選択して、テーブル名が指定された命名規則に準拠していることを確認します。チェッカーの構成方法と使用方法の詳細については、「データウェアハウス層チェッカーの構成」および「チェッカーの使用」をご参照ください。
名前
テーブルの内部名。命名ルールチェッカーが構成されている場合、テーブル名はルールに準拠している必要があります。
表示名
テーブルの表示名。
Lifecycle
ファクトテーブルの保持期間。最大 36,000 日です。
Owner
ファクトテーブルの責任者。デフォルトでは、テーブルを作成したユーザーです。
Description
ファクトテーブルの説明。
構成が完了したら、Save をクリックします。新しいテーブルが左側のディレクトリツリーに表示されます。
テーブルへのフィールドの追加
モデルを作成したら、フィールドを追加する必要があります。
Shortcut Mode または Script Mode でテーブルにフィールドを追加できます。Shortcut Mode では、Import from Table/View 機能を使用して、コンピューティングエンジン内の既存の物理テーブルまたはビューからフィールドをインポートできます。[既存のテーブル/ビューを検索] ドロップダウンリストからテーブルまたはビューを検索して選択し、そのフィールドをインポートします。
ショートカットモード
現在、MaxCompute、Hologres、および EMR Hive 内のテーブルまたはビューからのみフィールドをインポートできます。


[Shortcut Mode] では、[Import from Table/View] の横にある [Expand] をクリックします。
「[Search For Existing Table/View]」入力ボックスで、検索するテーブルまたはビューの名前を入力します。検索結果から、テーブルまたはビューを選択し、そのすべてのフィールド、または一部のフィールドをインポートします。
説明あいまい検索がサポートされています。キーワードを入力して、名前にキーワードを含むすべてのテーブルまたはビューを検索できます。
本番環境のテーブルのみを検索できます。開発環境のテーブルはサポートされていません。
アイコンはすべてのフィールドをインポートします。
アイコンは選択したフィールドをインポートします。
フィールドの一部をインポートする場合、選択したテーブルのすべてのフィールドを表示するダイアログボックスが表示されます。モデルに追加するフィールドを選択し、次に Import をクリックします。
インポートされたフィールドのField Display Nameが空の場合、画面の指示に従ってフィールドの説明から表示名を設定できます。
スクリプトモード
FML ステートメントを使用して、フィールド、関連付け、およびパーティションを作成することもできます。詳細については、「スクリプトモードでのモデル化」をご参照ください。
Script Mode では、コードを使用してモデルを定義できます。[スクリプトモード] をクリックすると、現在の構成から自動生成されたモデリング言語が表示されるダイアログボックスが開きます。この言語を編集し、その後 [OK] をクリックできます。
フィールド情報の構成
モデルにフィールドを追加した後、Associated Field、Redundant Field、およびAssociated Granularity/Metricなどのプロパティを設定できます。
フィールドプロパティを構成します。
デフォルトでは、Field Name、[データ型]、Field Display Name、Description、Primary Key、[Not Null]、Actions などの基本プロパティが表示されます。 他のプロパティを表示および変更するには、フィールドリストの右上隅にある Field Display Settings をクリックします。
フィールドの[関連付けるフィールド標準]と[関連付けるルックアップテーブル]を設定します。これにより、フィールドの内容と値の範囲を標準化できます。
関連付けるフィールド標準: 一貫した値の範囲や単位などを定義することで、意味は同じでも名前が異なるフィールドを標準化します。
関連付けるルックアップテーブル: 特定のフィールドの有効な値のセットを定義します。
Redundant Field を設定します。
フィールドのActions列で、Redundant Fieldをクリックして、関連付けられたフィールドを設定します。
従来のスタースキーマでは、ストレージ消費を削減するために、ディメンションはディメンションテーブルに格納され、ファクトテーブルの外部キーを介してアクセスされます。ディメンションモデリング設計では、ダウンストリームのクエリ効率を向上させ、結合数を減らすことでデータ検索を簡素化するために、頻繁に使用されるディメンションがファクトテーブルに冗長に追加されることがよくあります。たとえば、「注文詳細テーブルの作成」には、「受信元アドレス」や「受信者電話番号」などのディメンション属性を含む「配送先住所ディメンションテーブル」からの「配送先住所」ディメンションが冗長に含まれます。

設定が完了したら、左上のSaveをクリックします。
次のステップ
ファクトテーブルを作成した後は、そのフィールドの管理、関連付けの設定、およびパーティションの設定も行う必要があります。その後、テーブルをターゲット環境に公開および具体化する必要があります。詳細については、「論理モデルの具体化」をご参照ください。