すべてのプロダクト
Search
ドキュメントセンター

Dataphin:論理ファクトテーブルの作成

最終更新日:Aug 14, 2025

このトピックでは、ビジネスアクティビティに複数の属性を追加することで論理ファクトテーブルを生成するプロセスについて説明します。結果のテーブルには、プライマリキー、メジャー、およびファクト属性フィールドが含まれます。プライマリキーはソーステーブルからのデータ抽出ロジックを定義し、メジャーはデータのさまざまな側面を定量化する数値フィールドです。

制限事項

  • [データ標準] モジュールでは、テーブルの [データ標準] フィールドを設定する必要があります。

  • テーブルの [データ分類] フィールドと [データカテゴリ分類] フィールドを設定するには、[資産セキュリティ] モジュールが必要です。

  • アセット品質 モジュールがないと、プライマリキーフィールドの一意検証および非NULL検証を実装できません。

前提条件

ビジネスアクティビティオブジェクトを作成済みであること。詳細については、「ビジネスエンティティの作成と管理」をご参照ください。

手順

ステップ 1:論理ファクトテーブルを作成する

  1. Dataphin ホームページで、トップメニューバーの [開発] > [データ開発] をクリックします。

  2. [論理ファクトテーブルの作成] ダイアログボックスにアクセスするには、次の手順に従います。

    [プロジェクト] を選択します(Dev-Prod モードでは環境を選択する必要があります)-> [論理ファクトテーブル] をクリックします -> image アイコンをクリックします。

    image

  3. [論理ファクトテーブルの作成] ページで、パラメータを構成します。

    パラメータ

    説明

    [ビジネスアクティビティ]

    論理ファクトテーブルを作成するビジネスアクティビティを選択します。ビジネスアクティビティは、[ビジネスイベント][ビジネスタスク][ビジネスプロセス] の 3 つのタイプに分類されます。

    [テーブルタイプ]

    論理テーブルタイプは、ビジネスアクティビティタイプによって決まります。

    • [ビジネスアクティビティ][ビジネスイベント] として選択されている場合、[テーブルタイプ][イベント論理ファクトテーブル] に設定されます。

    • [ビジネスアクティビティ][ビジネスタスク] として選択されている場合、[テーブルタイプ][タスク論理ファクトテーブル] に設定されます。

    • [ビジネスアクティビティ][ビジネスプロセス] として選択されている場合、[テーブルタイプ][プロセス論理ファクトテーブル] に設定されます。

    [データ]

    デフォルトでは、これはビジネスアクティビティが配置されているデータブロックの名前であり、変更できません。

    [データドメイン]

    デフォルトでは、これはビジネスアクティビティが配置されている主題領域の名前であり、変更できません。

    コンピューティングエンジン

    Dataphin インスタンスが Hadoop コンピュートエンジンに設定されているテナントは、Hive、Impala、Spark などのコンピューティングエンジンを選択できます。

    重要

    対応するコンピューティングエンジンは、選択する前に有効にする必要があります。詳細については、「Hadoop コンピュートソースを作成する」をご参照ください。

    コンピューティングエンジンには、次の制限があります。

    • Hive:Kudu 形式で格納されているソーステーブルを読み取ることができません。

    • Impala:Kudu 形式で格納されているソーステーブルを読み取ることができますが、論理テーブルを Kudu として格納することはサポートしていません。Kudu 形式のソーステーブルがない場合はお勧めしません。

    • Spark:Spark は Kudu 形式で格納されているソーステーブルを読み取ることができません。

    [データレイテンシ]

    データレイテンシは、本番環境における後続の論理ファクトテーブルタスクのスケジューリングタイプを定義します。論理ファクトテーブルは、[オフライン T+1](日次タスク)、[オフライン T+h](時間別タスク)、および [オフライン T+m](分単位タスク)をサポートしています。

    説明

    ArgoDB、StarRocks、SelectDB、および Doris コンピュートエンジンは、オフライン [T+1](日次テーブル)のみをサポートしています。

    [論理テーブル名]

    論理テーブル名を入力します。100 文字を超えないようにしてください。ビジネスオブジェクトを選択すると、システムは次のパターンに従って論理テーブル名を自動的に入力します。<データブロック名>.fct_<ビジネスオブジェクトコード>_<データレイテンシ>

    重要
    • 文字、数字、アンダースコア(_)のみが許可されており、最初の文字は文字である必要があります。システムは大文字と小文字を区別せず、大文字を自動的に小文字に変換します。

    • label_ はシステム予約のプレフィックスであり、名前は label_ で始めることはできません。

    • AnalyticDB for PostgreSQL の場合、テーブル名は 50 文字以内である必要があります。

    データレイテンシが異なると、論理テーブル名の命名形式も異なり、<データレイテンシ> は異なる情報を示します。

    • di:T+1 レイテンシ、日次増分、毎日その日の増分データを格納します。

    • hi:T+h レイテンシ、時間別増分、毎時間現在の時間の増分データを格納します。

    • thi:T+h レイテンシ、時間別増分、毎時間 0:00 から現在の時間までの増分データを格納します。

    • mi:T+m レイテンシ、分単位増分、15 分ごとに過去 15 分間の増分データを格納します。

    • tmi:T+m レイテンシ、分単位増分、15 分ごとに 0:00 から現在の分までの増分データを格納します。

    • df/da:T+1 レイテンシ、日次フル、毎日現在の日までのフルデータを格納します。

    • hf:T+h レイテンシ、時間別フル、毎時間現在の時間までのフルデータを格納します。

    • mf:T+m レイテンシ、分単位フル、15 分ごとに過去 15 分までのフルデータを格納します。

    [中国語名]

    カスタム名の命名規則は次のとおりです。

    • 漢字、文字、数字、アンダースコア(_)、またはハイフン(-)を含めることができます。

    • 64 文字を超えることはできません。

    [説明]

    論理ファクトテーブルの簡単な説明を 1000 文字以内で入力します。

  4. [OK] をクリックします。

ステップ 2:論理ファクトテーブルの構造を構成する

  1. [テーブル構造] ページで、パラメータを構成します。

    image

    エリア

    説明

    テーブルフィールドの位置決め

    クリックして、フィールドリストの [基本構成] または [アセット管理] 構成を見つけます。

    検索・フィルターエリア

    テーブルフィールドリスト内で名前でフィールドを検索できます。

    image..png をクリックすると、[データ型][フィールドカテゴリ][関連ディメンションの有無][関連ディメンション、フィールド制約、データ分類] などの条件でフィルターを適用できます。

    リスト操作

    • [列の並べ替え]:フィールドの順序を調整する前に、この論理テーブルへのダウンストリーム参照がこの論理テーブルをクエリするために select * を使用していないことを確認して、データエラーを防ぎます。

    • [フィールドのインポート]:この機能を使用すると、テーブルに新しいフィールドを追加できます。[テーブルステートメントの作成] および [テーブルからインポート] からのインポートをサポートしています。詳細については、「論理ファクトテーブルのフィールドをインポートする」をご参照ください。

    • [フィールドの追加][データフィールド][パーティションフィールド] の追加をサポートしています。ビジネス要件に基づいて、フィールドの [名前][説明][データ型][列タイプ][関連ディメンション][推奨標準][フィールド制約][データクラス][データ機密レベル][備考] 情報を編集できます。

      説明

      MaxCompute エンジンは、最大 6 レベルのパーティションフィールドをサポートしています。

      ArgoDB、StarRocks、SelectDB、および Doris コンピュートエンジンは、パーティションフィールドの追加をサポートしていません。

    フィールドリスト

    フィールドリストには、[シリアル番号][列名][説明][データ型][列タイプ][関連ディメンション][推奨標準][フィールド制約][データクラス][データ機密レベル][備考] などのフィールドに関する詳細情報が表示されます。

    • [シリアル番号]:テーブルフィールドのシリアル番号。新しいフィールドごとに 1 ずつ増加します。

    • フィールド名: テーブルのフィールド名です。フィールド名または中国語のキーワードを入力すると、システムが標準プリセットフィールド名と自動的に照合します。

    • [説明]:テーブルフィールドの説明情報。512 文字までに制限されています。

    • [データ型][string][bigint][double][timestamp][decimal][Text][Numeric][Datetime Variable][その他] のデータ型をサポートしています。

    • [列タイプ][プライマリキー][パーティション][プロパティ] として設定できます。

      説明
      • プライマリキーフィールドは 1 つだけ許可されます。

      • string、varchar、bigint、int、tinyint、smallinit 型のフィールドのみがパーティションフィールドとしてサポートされています。

    • [関連ディメンション]:特定の操作については、「関連ディメンションの追加」をご参照ください。

    • [推奨標準]:フィールドのフィールド標準を選択します。標準を作成するには、「データ標準の作成と管理」をご参照ください。

    • [フィールド制約]:フィールドのフィールド制約を選択します。[一意] および [NULL 値禁止] 制約をサポートしています。

    • [データクラス]:フィールドのデータ分類を選択します。データ分類を作成するには、「データ分類の作成」をご参照ください。

    • [データ機密レベル]:データ分類を選択すると、システムは自動的にデータレベルを識別します。

    • [備考]:フィールドの備考を入力します。2048 文字までに制限されています。

    操作列のフィールドで [削除] 操作を実行することもできます。

    説明

    フィールドの削除は元に戻せません。

    一括操作

    テーブルフィールドを一括選択して、次の操作を実行できます。

    • [削除]image アイコンをクリックして、選択したデータフィールドを一括削除します。

    • [データ型]image アイコンをクリックして、選択したフィールドのデータ型を一括変更します。

    • [列タイプ]image アイコンをクリックして、選択したフィールドの列タイプを一括変更します。

    • 名前の推奨: image アイコンをクリックします。 システムは、フィールドの説明の内容をトークン化し、作成されたルートと照合してフィールド名を推奨します。 [ルート命名] ダイアログボックスで、選択したフィールドの名前を変更後の値に置き換えることができます。 次の図に例を示します。

      image

      説明
      • 推奨されるフィールド名が要件を満たしていない場合は、[変更されたフィールド名] 入力ボックスで変更できます。

      • [リセット] をクリックすると、[変更されたフィールド名] がシステムで一致したルートにリセットされます。

    • 推奨標準: image アイコンをクリックします。 システムはフィールド名に基づいてフィールド標準を推奨します。 [フィールド標準] ダイアログボックスで、フィールドを推奨されたフィールド標準に設定できます。

    • [フィールド制約]image アイコンをクリックして、フィールド制約を一括設定します。

      重要

      サブディメンション論理テーブルは、フィールド制約の設定をサポートしていません。

  2. [保存して次へ] をクリックします。

論理ファクトテーブルのフィールドをインポートする

  • テーブルからインポートする

    1. 論理ファクトテーブルの構成ページで、[テーブルからインポート] をクリックします。

      image..png

    2. [テーブルからインポート] ダイアログボックスで、[ソーステーブル] を選択し、追加するフィールドを選択します。

      パラメータ

      説明

      [ソーステーブル]

      現在のテナントで読み取り権限を持つすべての物理テーブル(Dataphin によって自動的に生成されたものではない物理テーブル)、論理テーブル、およびビュー(パラメータ化されていないビュー)から選択できます。

      物理テーブルの読み取り権限を取得する方法については、「テーブル権限の申請、更新、および返却」をご参照ください。

      [フィールドリスト]

      追加するフィールドを選択します。

      説明

      ソーステーブルを切り替えることで、複数のソーステーブルからフィールドを選択できます。

      [選択済みフィールド]

      追加されたフィールドは、選択済みフィールドに含まれます。選択済みフィールドで [削除] 操作を実行できます。

    3. [追加] をクリックして、物理テーブルから論理ファクトテーブルにフィールドをインポートします。

      フィールドが [新しいフィールド] エリアに追加された後、必要に応じて名前、データ型、フィールドカテゴリ、および関連ディメンションを編集できます。

  • CREATE TABLE ステートメントからインポートする

    論理ファクトテーブルにプライマリキーがあるかどうかに応じて、メジャーフィールドのソーステーブルを選択します。論理ファクトテーブルにプライマリキーがある場合、メジャーフィールドはメインソーステーブルからのみ選択できます。プライマリキーがない場合、メジャーフィールドはメインソーステーブルと他のデータテーブルから選択できます。

    1. 論理ファクトテーブルの構成ページで、[CREATE TABLE ステートメントからインポート] をクリックします。

    2. [CREATE TABLE ステートメントからインポート] ダイアログボックスで、CREATE TABLE ステートメントを入力し、[SQL を解析] をクリックします。

      image..png

    3. フィールドリストから必要なフィールドを選択し、[追加] をクリックして、論理ファクトテーブルの新しいフィールドを作成します。

関連ディメンションを追加する

論理ファクトテーブルのファクト属性の外部キーフィールドをディメンションに関連付けます。

  1. 論理ファクトテーブルの構成ページで、gagag アイコンをクリックして、編集モデル関係ダイアログボックスを開きます。

    image..png

  2. [モデル関係の編集] ダイアログボックスで、パラメータを構成します。

    エリア

    パラメータ

    説明

    [NULL 値の置換]

    論理ファクトテーブルの外部キーフィールドをディメンションテーブルに関連付けることができない場合、システムは [デフォルト値] を -110 に設定します。

    [関連ディメンション]

    [関連エンティティ][論理ディメンションテーブル]

    作成した [関連エンティティ][論理ディメンションテーブル] を選択します。

    [関連付けロジックの編集]

    [関連付けロジック]

    論理ファクトテーブルのフィールドを選択し、論理ファクトテーブルのフィールドと、関連付ける必要のあるディメンション論理テーブルのプライマリキーとの関係を構成します。

    [ディメンションテーブルのバージョンポリシー]

    関連付けられたディメンションテーブルのバージョン(パーティション)を選択します。デフォルトでは、プライマリテーブルと同じサイクルパーティションバージョンが使用されます。

    [欠落関連付けポリシー]

    欠落関連付けポリシーは、メインソーステーブル(左テーブル)に存在するが、ディメンション論理テーブル(右テーブル)には存在しないフィールド、つまり関連付けることができないフィールドの計算ロジックを定義します。[元の欠落関連付けデータを保持する][欠落関連付けデータにデフォルト値を使用する] を選択できます。

    • [元の欠落関連付けデータを保持する]:派生指標を作成するときに、左テーブルの元のデータが保持されます。

    • [欠落関連付けデータにデフォルト値を使用する]:ディメンションテーブルのフィールドが論理ファクトテーブルに関連付けられていない場合、デフォルト値 -110 が使用されます。

    [ディメンションロールの編集]

    [ロールの英語名][ロール名]

    ディメンションロールは、ディメンションエイリアスとして機能します。同じディメンションを複数回参照する場合、一意のロール名を定義する必要があり、ロールの仮定効果が生まれます。[ロールの英語名][ロール名] を定義する必要があります。

    • [ロールの英語名] のプレフィックスはデフォルトで dim であり、カスタム部分の命名規則は次のとおりです。

      • 文字、数字、またはアンダースコア(_)を含みます。

      • 64 文字を超えることはできません。

    • [ロール名] の命名規則は次のとおりです。

      • 漢字、数字、文字、アンダースコア(_)、またはハイフン(-)を含みます。

      • 64 文字を超えることはできません。

  3. [OK] をクリックします。

ステップ 3:論理ファクトテーブルの計算ロジックを構成する

  1. [計算ロジック] ページで、ソースデータと論理ファクトテーブルのプライマリキー間のマッピングを構成します。

    image..png

  2. [ソースの構成] をクリックして、[ソースの構成] ダイアログボックスを開き、[ソースの構成] ダイアログボックスで、ソースパラメータを構成します。

    image..png

    説明
    • フィルタ条件またはカスタム SQL でイベント時間にフィルタを追加設定することは避けてください。

    • 論理テーブルにプライマリキーがなく、複数のソーステーブルがある場合は、カスタム SQL を使用してテーブルを事前に関連付けます。

    パラメータ

    説明

    [ソースタイプ]

    [物理テーブル][SQL][論理テーブル] の 3 つのソースタイプをサポートしています。

    ソーステーブルタイプの説明:

    • プライマリキーソーステーブル: プライマリキーを持つ論理テーブルでは、複数のソースを設定できます。最初のソースがメインソースになります。論理テーブルの総データ量 (行数) は、このソースによって決まります。

    • プライマリキーなしのソーステーブル:プライマリキーのない論理テーブルは、1 つのソースしか設定できません。複数のソーステーブルがある場合は、カスタム SQL を使用してテーブルを事前に関連付けます。

      説明

      複数のソースオブジェクトを構成するには、[ソースオブジェクトの追加] をクリックして追加します。

    [ソースオブジェクト]

    • [物理テーブル] を選択:現在のテナントで読み取り権限を持つすべての物理テーブル(Dataphin によって生成されたものではない)および物理ビュー(パラメータ化されていない)から選択します。

      物理テーブルの読み取り権限を取得する方法については、「テーブル権限の申請、更新、および返却」をご参照ください。

    • [SQL] を選択:image アイコンをクリックし、エディタに内容を入力します。例:

      select id, name
      from project_name_dev.table_name1 t1
      join
      project_name2_dev.table_name2 t2
      on t1.id = t2.id
    • [論理テーブル] を選択:現在のテナントで読み取り権限を持つすべての論理テーブルから選択します。

      物理テーブルの読み取り権限を取得する方法については、「テーブル権限の申請、更新、および返却」をご参照ください。

      重要

      論理テーブルを別の論理テーブルのデータソースとして使用すると、計算ロジックの複雑さと運用および保守の難しさが増します。慎重に選択してください。

    [オブジェクトエイリアス]

    ソーステーブルのエイリアスをカスタマイズします。例:t1、t2。

    [オブジェクトの説明]

    オブジェクトの説明情報を入力します。1000 文字までに制限されています。

    [フィルタ条件]

    image アイコンをクリックし、エディタに内容を入力します。例:

    ds=${bizdate} and condition1=value1.

    カスタム SQL にはフィルタ条件がありません。

    [外部キーフィールド]

    論理テーブルのプライマリキーに対応するソースオブジェクトのフィールド。等価関係によってプライマリキーに関連付けることができます。

    [削除]

    メインソースは削除をサポートしていません。

    プライマリキーのない論理テーブルの場合、ソースを削除するとフィールドの計算ロジックがクリアされます。

  3. [OK] をクリックして、ソースの構成を完了します。

  4. ソースの構成が完了したら、ソースフィールドを計算ロジックにドラッグします。

    [名前でマップ] ボタンをクリックして、ソースフィールドを同じ名前の論理テーブルフィールドの計算ロジックに一括配置することもできます。

    image アイコンをクリックして、エディタで計算ロジック式を編集します(式は集計関数:sum、count、min などをサポートしていません)。例:

    • 例 1:substr(t1.column2, 3, 10

    • 例 2:case when t1.column2 != '1' then 'Y' else 'N' end

    • 例 3:t1.column2 + t2.column1

  5. 下部の image..png アイコンをクリックして、式を検証します。

    [SQL のプレビュー] ボタンをクリックして、計算ロジック SQL を表示します。

  6. [保存して次へ] をクリックします。

ステップ 4:制約を構成する

  1. フィールド制約に基づいて、システムは品質モジュールで現在の論理テーブルの品質ルールを作成します。フィールドのルール強度を設定できます。これには、強いルールと弱いルールが含まれます。詳細については、「データテーブルの品質ルール」をご参照ください。

    image..png

  2. [保存して次へ] をクリックします。

ステップ 5:論理ファクトテーブルのスケジューリング構成を構成する

  1. [スケジューリングとパラメーター設定] ページで、論理ファクトテーブルの データレイテンシースケジューリングプロパティスケジューリング依存関係、および スケジューリングパラメーターとランタイム設定 を設定します。

    image..png

    パラメータ

    説明

    データ待機時間

    データレイテンシが有効になっている場合、システムは指定された論理テーブルの [最大レイテンシ日数] 期間内のすべてのデータを自動的に再処理します。詳細については、「論理テーブルのデータレイテンシを構成する」をご参照ください。

    スケジューリングプロパティ

    本番環境における論理ファクトテーブルのスケジューリング方法を定義するために使用されます。スケジューリングプロパティを使用して、論理ファクトテーブルのスケジューリングタイプ、スケジューリングサイクル、スケジューリングロジック、および実行を構成できます。詳細については、「論理テーブルのスケジューリングプロパティを構成する」をご参照ください。

    上流の依存関係

    スケジューリングタスクにおける論理テーブルのノードを定義するために使用されます。Dataphin は、各ノードのスケジューリング依存関係の構成結果を通じて、ビジネスフローの各ノードを順番に実行し、ビジネスデータが効果的かつタイムリーに生成されるようにします。詳細については、「論理テーブルのアップストリームの依存関係を構成する」をご参照ください。

    パラメーター設定

    パラメータの構成には、コード内の変数に値を割り当てることが含まれます。これにより、ノードのスケジューリング中にこれらの変数をそれぞれの値に自動的に置き換えることができます。スケジューリングのパラメータ構成ページでは、[無視] または [グローバル変数に変換] を選択できます。詳細については、「論理テーブルのパラメータを構成する」をご参照ください。

    ランタイム設定

    ビジネスシナリオに基づいて、論理ファクトテーブルのタスクレベルのランタイムタイムアウトと再実行戦略を構成できます。これにより、長時間実行されるコンピューティングタスクによるリソースの浪費を防ぎながら、タスク操作の信頼性が向上します。詳細については、「論理テーブルのランタイムを構成する」をご参照ください。

    リソース構成

    現在の論理テーブルタスクのスケジューリングリソースグループを構成できます。論理テーブルタスクは、スケジューリング中にこのリソースグループのリソースクォータを占有します。構成手順については、「論理テーブルのリソースを構成する」をご参照ください。

ステップ 6:論理テーブルを保存して送信する

  1. 論理ファクトテーブルを構成した後、[保存して送信] をクリックします。システムによって [テーブル構造][計算ロジック][スケジューリング依存関係]、および [ランタイムパラメーター] が検証されます。構成を確認し、[チェック結果] で示された問題に対処します。

    image

  2. すべてのチェックに合格したら、提出時の備考を入力し、[確認して送信] をクリックします。

    送信されると、Dataphin はタスクのリネージ分析と送信チェックを実行します。詳細については、「標準化されたモデリングタスクの送信ガイドライン」または「」をご参照ください。

次のステップ

  • プロジェクトが Dev-Prod モードの場合は、論理テーブルを本番環境に公開する必要があります。詳細については、「公開タスクの管理」をご参照ください。

  • 論理テーブルが本番環境に公開された後、オペレーションセンターで論理テーブルタスクを表示および保守できます。詳細については、「オペレーションセンター」をご参照ください。