Process Mining
最新
変換 - Automation Cloud (最新バージョン)
ロゴ
Process Mining
最終更新日 2023年11月28日

変換

フォルダー構造

プロセス アプリの変換は、1 つの dbt プロジェクトで成り立ちます。以下の表は、dbt プロジェクト フォルダーの内容の説明です。

フォルダー/ファイル

次の値を含む

dbt_packages\

pm_utils パッケージとそのマクロです。

logs\

dbt の実行時に作成されるログです。

macros\

カスタム マクロです。

models\

変換を定義する .sql ファイル

models\schema\

データに対するテストを定義する .yml ファイルです。

seed

構成設定を含む .csv ファイル

dbt_project.yml

dbt プロジェクトの設定です。

以下の画像でご確認ください。



dbt_project.yml

dbt_project.yml ファイルには、変換を定義する dbt プロジェクトの設定が含まれています。vars セクションには、変換で使用される変数が含まれます。

日付/時刻形式

各アプリ テンプレートには、日付/時刻のデータを解析するためのデータ形式を決定する変数が含まれています。入力データの日付/時刻の形式が期待と異なる場合は、これらの変数を調整する必要があります。

データ変換

データ変換は、models\ ディレクトリ内の .sql ファイルで定義されます。データ変換は、サブディレクトリの標準セット内で整理されています。

  • 1_input
  • 2_entities
  • 3_events
  • 4_event_logs
  • 5_business_logic です。

変換の構造」をご覧ください。

.sql ファイルは Jinja SQL で記述されており、プレーンな SQL クエリに Jinja ステートメントを挿入できます。dbt ですべての .sql ファイルが実行されると、各 .sql ファイルによってデータベース内に新しいビューまたはテーブルが生成されます。

.sql ファイルは通常、次の構造を持ちます。

  1. With ステートメント: 必要なサブ テーブルを含む With ステートメントが 1 つ以上必要です。

    • {{ ref(‘My_table) }} は、別の .sql ファイルで定義されたテーブルを参照します。
    • {{ source(var("schema_sources"), 'My_table') }} は入力テーブルを参照します。
  2. メイン クエリ: 新しいテーブルを定義するクエリです。
  3. 最後のクエリ: 通常、Select * from table のようなクエリが最後に使用されます。これにより、デバッグ中に副選択を簡単に行うことができます。

変換の効果的な記述方法について詳しくは、「SQL を記述するためのヒント」をご覧ください。

ソース テーブルを追加する

dbt プロジェクトに新しいソース テーブルを追加するには、そのテーブルが models\schema\sources.yml のリストに含められている必要があります。こうすることで、他のモデルが {{ source(var("schema_sources"), 'My_table') }} を使用してテーブルを参照できます。以下の画像で例をご確認ください。



重要: 新しいソース テーブルは、それぞれ sources.yml のリストに加えられている必要があります。

クエリでソース テーブルを使用する方法について詳しくは、「変換の構造: 1. 入力」をご覧ください。詳しくは、ソースに関する dbt の公式ドキュメントをご覧ください。

データ出力

データ変換は、対応するアプリで必要となるデータ モデルを出力する必要があります。つまり、期待されるそれぞれのテーブルとフィールドが存在する必要があります。

これは実際の場面では、models\5_business_logic 内のテーブルを削除すべきではないということを意味します。また、対応するクエリの出力フィールドは削除すべきではありません。

プロセス アプリに新しいフィールドを追加する場合は、プロセス アプリで利用可能なカスタム フィールドを使用できます。変換のフィールドをカスタム フィールドにマッピングして、出力で利用できるようにします。出力内のカスタム フィールドの名前は、プロセス アプリのデータ モデルで記述された名前と一致させてください。

ヒント:

dbt docs コマンドを使用して dbt プロジェクトのドキュメント サイトを生成し、既定のブラウザーで開くことができます。このドキュメント サイトにはリネージ グラフも含まれます。リネージ グラフには、プロジェクト内の各データ テーブル間の関係をグラフィカルに表したエンティティ リレーションシップ ダイアグラムが表示されます。

詳しくは、dbt docs に関する dbt の公式ドキュメントをご覧ください。

マクロ

マクロを使用すると、一般的な SQL の構造を簡単に再利用できます。詳しくは、Jinja マクロの dbt 公式ドキュメントをご覧ください。

pm_utils

pm-utils パッケージには、Process Mining の変換で通常使用されるマクロが一式含まれています。pm_utils マクロについて詳しくは、「ProcessMining-pm-utils」をご覧ください。

以下に pm_utils.optional() マクロを呼び出す Jinja のコードの例を示します。



シード

シードとは、変換にデータ テーブルを追加するために使用される csv ファイルです。詳しくは、Jinja のシードに関する dbt の公式ドキュメントをご覧ください。

Process Mining では、変換内のマッピングを簡単に設定できるよう、一般的にシードが使用されます。

シード ファイルを編集しても、ファイルはデータベース内で即座に更新されません。シード ファイルの新しい内容をデータベースに読み込むよう dbt に指示するには、以下のいずれかを実行します。

  • dbt seed - シード ファイルのテーブルのみ更新します。
  • dbt build - すべてのモデルとテストも実行します。

    注: 最初にシード ファイルにデータ レコードが含まれていない場合、データベース内のデータ型が正しく設定されていない可能性があります。これを修正するには、run dbt seed --full-refresh を呼び出します。これにより、データベース内の列のセットも更新されます。

アクティビティの設定

activity_configuration.csv ファイルは、アクティビティに関連する追加フィールドを設定するために使用されます。activity_order は、同じタイムスタンプで 2 つのイベントが発生する際のタイ ブレーカーとして使用されます。以下の画像で例をご確認ください。



テスト

models\schema\ フォルダーには、テストを定義する.yml ファイル一式が含まれます。これらのファイルは、期待されるデータの構造と内容を検証します。詳しくは、テストに関する dbt の公式ドキュメントをご覧ください。

変換を Process Mining で実行すると、各データ取り込みでは sources.yml 内のテストのみが実行されます。これは、入力データの書式が正しいかどうかを確認するために行われます。

注: 変換を編集する際は、テストを適宜更新してください。テストは必要に応じて削除できます。

dbt プロジェクト

データ変換は、入力データを Process Mining に適したデータに変換するために使用されます。UiPath Process Mining の変換は dbt プロジェクトとして書き込まれます。

このページでは、dbt について説明します。詳しくは、dbt の公式ドキュメントをご覧ください。

pm-utils パッケージ

UiPath Process Mining のアプリ テンプレートには、pm_utils という dbt パッケージが付属しています。この pm-utils パッケージには、Process Mining の dbt プロジェクト用のユーティリティ関数とマクロが含まれています。pm_utils について詳しくは、「ProcessMining-pm-utils」をご覧ください。

アプリ テンプレートに使用する pm-utils のバージョンを更新する

UiPath では、新しい関数を追加することで、pm-utils パッケージに対して継続的な改善を行っています。

新しいバージョンの pm-utils パッケージがリリースされたら、変換で使用されているバージョンを更新して、必ず pm-utils パッケージの最新の関数とマクロを利用できるようにすることをお勧めします。

最新バージョンの pm-utils パッケージのバージョン番号は、ProcessMining-pm-utils[リリース] パネルで確認できます。

変換で使用されている pm-utils のバージョンを更新するには、以下の手順に従います。

1. Visual Studio Code で変換を開きます。

2. packages.yml ファイルを選択します。

3. revisionpm-utils の最新のバージョン番号に設定します。以下の画像でご確認ください。

4. packages.yml ファイルを保存します。

5. コマンド dbt deps を実行します。

ロゴ
サポートを受ける
ロゴ
RPA について学ぶ - オートメーション コース
ロゴ
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2023 UiPath. All rights reserved.