- リリース ノート
- はじめる前に
- アクセス権を管理する
- 基本情報
- Integrations
- プロセス アプリを使用する
- アプリを作成する
- データを読み込む
- データ変換中
- プロセス アプリをカスタマイズする
- プロセス アプリをパブリッシュする
- アプリ テンプレート
- 通知
- その他のリソース

Process Mining
変換
プロセス アプリの変換は、1 つの dbt プロジェクトで成り立ちます。次の表で、dbt プロジェクト フォルダーの内容について説明します。
フォルダー/ファイル |
次の値を含む |
---|---|
|
pm_utils パッケージとそのマクロです。
|
|
カスタム マクロの任意のフォルダー |
|
変換を定義する
.sql ファイル
|
|
データに対するテストを定義する
.yml ファイルです。
|
|
構成設定を含む
.csv ファイル
|
|
dbt プロジェクトの設定です。 |
イベント ログとカスタム プロセスのアプリ テンプレートのデータ変換の構造が簡素化されています。これらのアプリ テンプレートを使用して作成されたプロセス アプリは、このフォルダー構造を持ちません。
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 を記述するためのヒント」をご覧ください。
models\schema\sources.yml
のリストに含められている必要があります。こうすることで、他のモデルが {{ source(var("schema_sources"), 'My_table') }}
を使用してテーブルを参照できます。次の図に例を示します。
sources.yml
のリストに加えられている必要があります。
クエリでソース テーブルを使用する方法について詳しくは、「変換の構造: 1. 入力」をご覧ください。詳しくは、ソースに関する dbt の公式ドキュメントをご覧ください。
マクロを使用すると、一般的な SQL の構造を簡単に再利用できます。詳しくは、Jinja マクロに関する dbt 公式ドキュメントをご覧ください。
pm-utils
パッケージには、Process Mining の変換で通常使用されるマクロが一式含まれています。pm_utils
マクロについて詳しくは、「ProcessMining-pm-utils」をご覧ください。
pm_utils.optional()
マクロを呼び出す Jinja のコードの例を示します。
csv
ファイルです。詳しくは、Jinja のシードに関する dbt の公式ドキュメントをご覧ください。
Process Mining では、変換内のマッピングを簡単に設定できるよう、一般的にシードが使用されます。
シード ファイルを編集した後、[ファイルを実行] または [すべてを実行] を選択してファイルを実行し、対応するデータ テーブルを更新します。
activity_order
は、2 つのイベントが同じタイムスタンプで発生する場合にタイ ブレーカーとして使用されます。
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 の公式ドキュメントをご覧ください。
データ変換は、入力データを Process Mining に適したデータに変換するために使用されます。Process Mining の変換は dbt プロジェクトとして書き込まれます。
このページでは、dbt について説明します。詳しくは、dbt の公式ドキュメントをご覧ください。
pm_utils
という dbt パッケージが付属しています。この pm-utils
パッケージには、Process Mining の dbt プロジェクト用のユーティリティ関数とマクロが含まれています。pm_utils
について詳しくは、「ProcessMining-pm-utils」をご覧ください。
pm-utils
パッケージに対して継続的な改善を行っています。
pm-utils
パッケージがリリースされたら、変換で使用されているバージョンを更新して、必ず pm-utils
パッケージの最新の関数とマクロを利用できるようにすることをお勧めします。
pm-utils
パッケージのバージョン番号は、ProcessMining-pm-utils の [リリース] パネルで確認できます。
pm-utils
のバージョンを更新するには、以下の手順に従います。
-
pm-utils
のリリースからソース コード (zip) をダウンロードします。 -
zip
ファイルを抽出し、フォルダーの名前を pm_utils に変更します。 -
インラインのデータ変換エディターから変換をエクスポートし、ファイルを抽出します。
-
エクスポートした変換の pm_utils フォルダーを、新しい pm_utils フォルダーに置き換えます。
-
変換の内容を再度 zip で圧縮し、データ変換エディターにインポートします。