process-mining
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Process Mining

最終更新日時 2025年4月17日

変換

フォルダー構造

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

フォルダー/ファイル

次の値を含む

dbt_packages\

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

macros\

カスタム マクロの任意のフォルダー

models\

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

models\schema\

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

seed

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

dbt_project.yml

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

注:

イベント ログカスタム プロセスのアプリ テンプレートのデータ変換の構造が簡素化されています。これらのアプリ テンプレートを使用して作成されたプロセス アプリは、このフォルダー構造を持ちません。

dbt_project.yml

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

日付/時刻形式

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

データ変換

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

詳しくは、「 変換の構造 」をご覧ください。

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

次のコードは、SQL クエリの例を示しています。

 select
    tableA."Field_1" as "Alias_1",
    tableA."Field_2",
    tableA."Field_3"
from {{ ref('tableA') }} as tableAselect
    tableA."Field_1" as "Alias_1",
    tableA."Field_2",
    tableA."Field_3"
from {{ ref('tableA') }} as tableA
注:
以前のバージョンのアプリ テンプレートで作成されたプロセス アプリでは、 .sql ファイルの構造が次のようなものになる場合があります。
  1. With ステートメント: 必要なサブ テーブルを含む With ステートメントが 1 つ以上必要です。

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

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

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

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


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

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

データ出力

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

プロセス アプリに新しいフィールドを追加する場合は、これらのフィールドを変換に追加できます。

マクロ

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

pm_utils

pm-utils パッケージには、Process Mining の変換で通常使用されるマクロが一式含まれています。pm_utils マクロについて詳しくは、「ProcessMining-pm-utils」をご覧ください。
次の図に pm_utils.optional() マクロを呼び出す Jinja のコードの例を示します。


シード

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

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

シード ファイルを編集した後、[ファイルを実行] または [すべてを実行] を選択してファイルを実行し、対応するデータ テーブルを更新します。

アクティビティの設定

activity_order は、2 つのイベントが同じタイムスタンプで発生する場合にタイ ブレーカーとして使用されます。

SQL クエリを使用する

データ変換で SQL クエリを使用して、アクティビティに関連する追加のフィールドを設定できます。次のコードは、 activity_orderを定義する SQL クエリの例を示しています。
 case
            when tableA."Activity" = 'ActivityA'
                then 1
            when tableA."Activity" = 'ActivityB'
                then 2
            when tableA."Activity" = 'ActivityC'
                then 3
            when tableA."Activity" = 'ActivityD'
                then 4
    end as "Activity_order"    case
            when tableA."Activity" = 'ActivityA'
                then 1
            when tableA."Activity" = 'ActivityB'
                then 2
            when tableA."Activity" = 'ActivityC'
                then 3
            when tableA."Activity" = 'ActivityD'
                then 4
    end as "Activity_order"
注:
ほとんどのアプリ テンプレートには、業務のニーズに合わせて調整できるアクティビティ設定用の定義フィールドがいくつか用意されています。これらの定義済みフィールドがないプロセス アプリの場合は、 activity_configuration.csv シード ファイルを使用できます。

activity_configuration.csv seeds ファイルを使用する

activity_configuration.csv ファイルを使用して、アクティビティに関連する追加のフィールドを設定することもできます。次の図は、 activity_configuration.csv ファイルの例を示しています。


注:
この activity_configuration.csv は、 イベント ログカスタム プロセスの アプリ テンプレートには使用できません。

テスト

models\schema\ フォルダーには、テストを定義する .yml ファイル一式が含まれます。これらのファイルは、期待されるデータの構造と内容を検証します。詳しくは、テストに関する dbt の公式ドキュメントをご覧ください。
注: 変換を編集する際は、テストを適宜更新してください。テストは必要に応じて削除できます。

dbt プロジェクト

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

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

pm-utils パッケージ

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. pm-utils のリリースからソース コード (zip) をダウンロードします。
  2. zip ファイルを抽出し、フォルダーの名前を pm_utils に変更します。
  3. インラインのデータ変換エディターから変換をエクスポートし、ファイルを抽出します。

  4. エクスポートした変換の pm_utils フォルダーを、新しい pm_utils フォルダーに置き換えます。

  5. 変換の内容を再度 zip で圧縮し、データ変換エディターにインポートします。

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

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White