- はじめる前に
- 基本情報
- Integrations
- プロセス アプリを使用する
- アプリを作成する
- データを読み込む
- データ変換中
- ダッシュボードをカスタマイズする
- ダッシュボードをパブリッシュする
- アプリ テンプレート
- 通知
- その他のリソース
Process Mining ユーザー ガイド
フォルダー構造
このページの情報は、期限日、構成ファイル、 seeds\ フォルダーを持つアプリ テンプレートにのみ適用されます。
プロセス アプリの変換は、1 つの dbt プロジェクトで成り立ちます。次の表で、dbt プロジェクト フォルダーの内容について説明します。
| フォルダー/ファイル | 次の値を含む |
|---|---|
dbt_packages\ | pm_utils パッケージとそのマクロです。 |
macros\ | カスタム マクロの任意のフォルダー |
models\ | .sql 変換を定義するファイル |
models\schema\ | .yml データに対するテストを定義するファイル |
seeds | .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 tableA
select
tableA."Field_1" as "Alias_1",
tableA."Field_2",
tableA."Field_3"
from {{ ref('tableA') }} as tableA
以前のバージョンのアプリ テンプレートで作成されたプロセス アプリでは、 .sql ファイルの構造が次のようなものになる場合があります。
- With ステートメント: 必要なサブ テーブルを含む With ステートメントが 1 つ以上必要です。
{{ ref(‘My_table) }}は、別の .sql ファイルで定義されたテーブルを参照します。{{ source(var("schema_sources"), 'My_table') }}は入力テーブルを参照します。
-
メイン クエリ: 新しいテーブルを定義するクエリです。
-
最後のクエリ: 通常、
Select * from tableのようなクエリが最後に使用されます。これにより、デバッグ中に副選択を簡単に行うことができます。
変換の効果的な記述方法について詳しくは、「 SQL を記述するためのヒント」をご覧ください。
ソース テーブルを追加する
dbt プロジェクトに新しいソース テーブルを追加するには、そのテーブルが models\schema\sources.yml のリストに含められている必要があります。こうすることで、他のモデルが {{ source(var("schema_sources"), 'My_table') }} を使用してテーブルを参照できます。次の図に例を示します。

新しいソース テーブルは、それぞれ sources.yml のリストに加えられている必要があります。
詳しくは、 ソース に関する 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 つのイベントが発生する際のタイ ブレーカーとして使用されます。
オプション 1: SQL の構成
次のコードに、SQL CASE ステートメントを使用して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"
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"
オプション 2: CSV シード ファイル
SQL CASE ステートメントを使用する代わりに、activity_configuration.csv ファイルを使用してActivity_orderを定義できます。
次の図に activity_configuration.csv ファイルの例を示します。

推奨
ほとんどの UiPath アプリ テンプレートには、アクティビティを設定するためのフィールドがあらかじめ定義されており、特定のビジネス要件に合わせて調整できます。定義済みのフィールドが使用できない場合、または不十分な場合は、概要に従って、SQL または activity_configuration.csv seeds ファイルを使用していつでもカスタム フィールドを作成できます。
テスト
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 のバージョンを更新するには、以下の手順に従います。
pm-utilsのリリースからソース コード (zip) をダウンロードします。zipファイルを抽出し、フォルダーの名前を pm_utils に変更します。- インラインのデータ変換エディターから変換をエクスポートし、ファイルを抽出します。
- エクスポートした変換の pm_utils フォルダーを、新しい pm_utils フォルダーに置き換えます。
- 変換の内容を再度 zip で圧縮し、データ変換エディターにインポートします。