- リリース ノート
- はじめる前に
- 基本情報
- Integrations
- プロセス アプリを使用する
- アプリを作成する
- データを読み込む
- プロセス アプリをカスタマイズする
- アプリ テンプレート
- その他のリソース
- すぐに使えるタグと期限日
- ローカル環境でデータ変換を編集する
- ローカルのテスト環境を設定する
- イベント ログをデザインする
- SAP Ariba の抽出ツールを拡張する
- パフォーマンス特性
データ変換
アプリ テンプレートからプロセス アプリを作成する際は、プロセス アプリで使用されているデータが、業務プロセスを正しい方法で反映していることを確認する必要があります。データ変換によって、Process Mining で使用されるデータをカスタマイズできます。
Process Mining 内でデータ変換を使用して変換をカスタマイズするか、ローカルのデスクトップで編集することができます。詳しくは、「ローカル環境でデータ変換を編集する」をご覧ください。
このページでは、Process Mining 内でデータ変換をカスタマイズする方法について説明します。データ変換はダッシュボード エディターに統合されました。詳しくは、「ダッシュボード エディターを使用する」をご覧ください。
データ変換では、以下のことが可能です。
-
group by
とフィルターの新しいフィールドを追加する。例: 品質チェックの種類 -
イベントを追加する。例: 請求書の品質チェックの完了
-
タグを追加する。例: SLA の達成に失敗、複数名確認違反
-
KPI を計算するためのビジネス ロジックを追加する。例:
Case_has_maverick_buying
-
ダッシュボード エディターの右上隅にある [データ変換] ボタンを選択してデータ変換を開きます。
インライン エディターを初めて開く場合は、エディターの読み込みに時間がかかります。
インライン データ変換エディターが表示されます。
入力データ パネルの入力テーブルには、プロセス アプリに読み込まれたデータがそのまま表示されます。テーブルを選択して、データのプレビューでフィールドとデータの内容を確認します。データ プレビューを使用すると、入力データが予想どおりに表示されるかどうかを確認できます。
プレビューには、1,000 件のレコードのデータが表示されます。特定のデータをフィルター処理したり、一時的なデバッグ クエリを作成したりする場合は、「データ変換」をご覧ください。
[プレビュー] パネルには、このテーブルが再計算された最後のデータ実行のデータが表示されます。最近変更を行った場合は、新しいデータ実行を開始して結果を表示します。詳しくは、「データ変換を編集およびテストする」をご覧ください。
-
[変換] を選択すると、変換の構造を参照し、
.sql
ファイルを表示することができます。
変換の構造について詳しくは、「変換の構造」をご覧ください。
.sql
ファイルは、データ モデル内に新しいテーブルを定義します。[変換] パネルで .sql
ファイルを選択すると、SQL クエリが [変換] に表示され、編集しているデータ ファイルのプレビューが [プレビュー] パネルに表示されます。
クエリを編集するときに、[プレビュー] パネルで前回クエリが実行されたときのデータのプレビューを確認できます。
変換に未保存の変更がある場合は、[保存] ボタンが有効化されます。[保存] を選択して変更を保存します。変換のステータスが [最新] に設定されます。
必ず、データ モデルが要件に準拠していることを確認してください。「データ モデルの要件」をご覧ください。
-
[データ モデル] を選択して、プロセス アプリのデータ モデルを表示します。
データ モデルの変更方法について詳しくは、「データ変換を編集およびテストする」をご覧ください。
-
[+ テーブルを追加] を選択します。[テーブルを追加] ダイアログが表示されます。
-
新しい出力テーブルを定義するテーブルを選択します。
-
新しいテーブルの主キーを選択し、[完了] を選択します。
-
別のテーブルに関連付けるテーブルを選択します。
[テーブルを編集] パネルが表示されます。
-
[テーブルを編集] パネルで、[+ 新規追加] を選択して新しいリレーションを作成します。
-
このテーブルで使用するフィールドを [キー] リストから選択します。
-
接続先のテーブルを選択し、接続に使用するフィールドを [キー] リストから選択します。
-
[適用] を選択します。
-
キーを変更するテーブルを選択します。
[テーブルを編集] パネルが表示されます。
-
[テーブルを編集] パネルで、キーを変更するリレーションを見つけます。
-
テーブルを結合するためのキーとして使用する新しいフィールドを選択します。
-
[適用] を選択します。
-
外向きのリレーションを削除するテーブルを選択します。
[テーブルを編集] パネルが表示されます。
-
[テーブルを編集] パネルで、削除するリレーションを見つけて [リレーションを削除] を選択します。
-
[適用] を選択します。
-
データ モデル エディターで削除するテーブルを選択します。
[テーブルを編集] パネルが表示されます。
-
[テーブルを削除] を選択します。
確認メッセージが表示されます。
-
[削除] を選択して続行します。
テーブルとリレーションがデータ モデルから削除されます。
ログ レベル | 説明 |
データ実行のステータス |
Information |
Information メッセージには、データ実行の進行状況に関する有用な情報が含まれています。 |
成功 |
Warning |
Warning は、パブリッシュ済みのプロセス アプリ内のグラフに表示される内容に影響を与える可能性がある、データの潜在的な問題を意味します。将来発生する可能性のある問題を防ぐために Warning をすべて解決することをお勧めします。 |
成功 |
Error | Error は、プロセス アプリでデータを読み込んだり、変換を実行したりできなくなる、データの誤りを意味します。
データ実行を成功させるには、すべての Error を解決する必要があります。 |
失敗 |
2023.10.3 より前のバージョンでは、[すべてのテストを実行] の実行時間は 10 分に制限されています。v2023.10.4 以降では、[すべてのテストを実行] の実行時間は 1 時間に制限されています。したがって、データ変換の開発とテストには小さいデータセットを使用し、変換がこの制限時間を超えないようにすることを強くお勧めします。詳しくは、「Process Mining ポータル」をご覧ください。
cases_input.sql
が変更された場合などです。[クエリを実行] コマンドは、cases_input.sql
と、cases_input.sql
の結果を使用する cases.sql
を実行します。
結果のデータは、ダッシュボード エディターではなく、データ変換エディターでのみ使用できます。
実行には次の 2 種類があります。
-
クエリを実行: データの実行を開始し、変更されたすべてのクエリとその依存関係を再計算します。
-
ファイルを実行: 実行を開始して、現在選択中の SQL ファイルとその親クエリのみを再計算します。このオプションでは、特定の SQL ファイルに対するカスタマイズをテストおよびデバッグできます。
いつでも [実行をキャンセル] を選択して変換の実行をキャンセルできます。
通常、[クエリを実行] は、データ全体の実行を開始する [ダッシュボードに適用] よりも大幅に高速です。
[クエリを実行] は、パブリッシュ済みプロセス アプリのデータには影響しません。
変換内で新しいフォルダーを作成したり、新しいファイルを追加したりできます。
命名規則
-
ファイル、フォルダー、フィールド、およびテーブルの名前の場合:
-
小文字 (a-z)、大文字 (A-Z)、および数字 (0-9) のみを使用できます。
-
ファイル、フォルダー、フィールド、およびテーブルの名前に特殊文字
|*:?"<>\/
は使用できません。
-
-
ファイル名に使用できる特殊文字は、
_:.
のみです。 -
ファイル名の先頭に
_
(アンダースコア) は使用できません。
変換のメニューから新しいフォルダーまたはファイルを作成する
次の手順に従って、新しいフォルダーまたはファイルを作成します。
手順 |
操作 |
---|---|
1 |
変換内で、新しいファイルまたはフォルダーを追加する場所に移動します。 |
2 |
[変換] パネルに移動し、メニュー アイコン を選択して変換メニューを開きます。 |
3 |
メニューから該当するオプションを選択します。 |
4 |
新しいフォルダーまたはファイルのわかりやすい名前を入力し、Enter キーを押します。 |
選択したフォルダーに新しいフォルダーまたはファイルが作成されます。
コンテキスト メニューから新しいフォルダーまたはファイルを作成する
コンテキスト メニューから新しいフォルダーまたはファイルを作成するには、以下の手順に従います。
手順 |
操作 |
---|---|
1 |
変換内で、新しいファイルまたはフォルダーを追加するフォルダーを右クリックします。 |
2 |
メニューから該当するオプションを選択します。 |
3 |
新しいフォルダーまたはファイルのわかりやすい名前を入力し、Enter キーを押します。 |
ファイル内の未保存の変更
.sql
ファイルを編集すると、[変換] フォルダー構造内に、未保存の変更があることが示されます。
上の例では、[モデル] -> [5_business_logic] フォルダーにある Tags.sql
ファイルに未保存の変更があります。
次の手順に従って、新しいフォルダーまたはファイルを作成します。
手順 |
操作 |
---|---|
1 |
名前を変更するフォルダーまたはファイルを右クリックして、コンテキスト メニューを開きます。 |
2 |
[名前を変更] を選択します。 |
3 |
必要に応じて名前を編集して Enter キーを押します。 |
フォルダーまたはファイルの名前が変更されます。
次の手順に従って、新しいフォルダーまたはファイルを作成します。
手順 |
操作 |
---|---|
1 |
削除するフォルダーまたはファイルを右クリックして、コンテキスト メニューを開きます。 |
2 |
[削除] を選択します。 確認メッセージが表示されます。 |
3 |
[削除] をクリックして削除を確定します。 |
{# ... #}
に設定されています。これを使用してマクロにコメントを付けることもできます。
SQL
{# {{ pm_utils.optional(ref('Cases_base'), '"Case_status"') }} as "Case_status", #}
{# case
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 1000000
then {{ pm_utils.as_varchar('>= 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 0
then {{ pm_utils.as_varchar('0 - 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} is not null
then {{ pm_utils.as_varchar('< 0') }}
end as "Case_value_group", #}
{# {{ pm_utils.optional(ref('Cases_base'), '"Case_status"') }} as "Case_status", #}
{# case
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 1000000
then {{ pm_utils.as_varchar('>= 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 0
then {{ pm_utils.as_varchar('0 - 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} is not null
then {{ pm_utils.as_varchar('< 0') }}
end as "Case_value_group", #}
データ変換エディターでは、単一のファイル内でテキストを検索と置換できます。
テキストを検索
-
コード エディターでランダムな場所をクリックするか、他の出現箇所を検索したいテキストを選択します。
-
CTRL+F
を押下します。 -
[Find] フィールドに検索するテストを入力します。
現在のファイル内に出現するすべてのテキストが強調表示されます。
-
ENTER
キーを押すと、次の出現箇所にスキップします。
検索して置換
データ変換エディターでテキストを検索するには、次の手順に従います。-
コード エディターでランダムな場所をクリックするか、他の出現箇所を検索したいテキストを選択します。
-
CTRL+H
を押下します。 -
[Find] フィールドに検索したいテキストを入力し、[Replace] フィールドに新しいテキストを入力します。
現在のファイル内に出現するすべてのテキストが強調表示されます。
-
ENTER
キーを押してテキストを置換し、次の出現箇所にスキップします。
-
コード エディターをクリックします。
-
CTRL+H
を押下します。 -
[Find] フィールドに検索したいテキストを入力し、[Replace] フィールドに新しいテキストを入力します。
現在のファイル内に出現するすべてのテキストが強調表示されます。
-
Crtl+Alt+Enter
を押下します。
複数のファイルで検索/置換を行う
複数のファイルでテキストを検索/置換するには外部エディターを使用します。
複数のファイルのテキストを検索/置換するには、以下の手順に従います。
-
プロセス アプリから変換をエクスポートします。
注:データ変換エディターで保留中の変更がある場合は、まず [ダッシュボードに適用] を使用して、データの実行が完了した後に変換をエクスポートします。
-
変換の zip ファイルを解凍します。
-
任意のコード エディター (Notepad++、または Visual Studio Code など) で変換を開きます。
-
それらのツールの機能を使用して、複数のファイルのテキストを検索/置換します。
-
ファイルを保存します。
-
変換ファイルを .zip ファイルに追加します。
-
プロセス アプリに変換をインポートします。
データ実行に使用するデータを尋ねられたら、新しいデータ実行の前に変換の編集を続行する場合は [キャンセル] を選択します。
dbt_project.yml
)。
vars
セクションのみを編集することを強くお勧めします。変換が正しく機能し続けるよう、dbt_project.yml
の他の部分は変更しないでください。
dbt について詳しくは、dbt の公式ドキュメントをご覧ください。
ダッシュボードで変更を利用できるようにするには、データの全体実行によりデータを読み込んで変換を実行する必要があります。[ダッシュボードに適用] ボタンを選択して、データ実行を開始します。
データセットのサイズによっては、少し時間がかかります。
データ実行が完了すると、ダッシュボード エディターでのダッシュボードの調整に新しい変換を利用できるようになります。
プロセス アプリのパブリッシュ済みバージョンがある場合は、新しいデータがすぐビジネス ユーザーに表示されます。パブリッシュ済みのアプリが変換の編集中も正しく実行され続けるようにするには、開発アプリを使用することを強くお勧めします。
次の手順を実行します。
イベント ログが複数のイベント ログ ファイルに分割されている場合は、データ変換でイベント ログを 1 つのイベント ログに結合できます。
複数のイベント ログを結合するには、Case_ID がすべてのファイルに対して同じオブジェクトを指定している必要があります。たとえば、すべてのケース ID が受注 ID を指定している場合、Case_ID はすべてのイベント ログに対して同じテーブルを指定します。
-
イベント ログ アプリ テンプレートに基づいて新しいアプリを作成します。詳しくは、「アプリ テンプレート」をご覧ください。
-
「データ ソースを選択する」手順の [データをアップロード] オプションを使用して、結合するイベント ログ ファイルを選択します。
-
[新しいアプリを作成] ウィザードを続行して、アプリを作成し、データを変換します。
データの実行は失敗し、[アプリケーションのステータス] には [実行失敗] と表示されます。
-
[ログを表示] を選択して、ログ ファイルを表示します。
予期したEvent_log_raw.sql
ファイルが見つからないことを示すエラー メッセージが表示されます。 -
データ変換エディターに移動します。
-
入力ファイルごとに、次の操作を行います。
-
既に利用可能な
Event_log_input.sql
と同じ内容の.sql
ファイルを作成します。 -
ファイルを調整して必要な入力フィールドを選択し、正しく型キャストします。
-
新しいソース テーブルの名前を
sources.yml
に追加します。これで、すべての新しい入力ファイルを 1 つのイベント ログに結合できます。
注意:すべての入力ファイルに、まったく同じフィールドがあることを確認してください。
-
-
Event_log_input.sql
ファイルを選択し、内容を次のように置き換えます。-- The following code merges 3 input tables. select * from {{ ref('Event_log_input_1') }} union all select * from {{ ref('Event_log_input_2') }} union all select * from {{ ref('Event_log_input_3') }}
-- The following code merges 3 input tables. select * from {{ ref('Event_log_input_1') }} union all select * from {{ ref('Event_log_input_2') }} union all select * from {{ ref('Event_log_input_3') }}注: コードは、必要な入力テーブルの名前と一致するように調整してください。 -
[ダッシュボードに適用] を選択し、データ変換を実行して結果のフィールドをダッシュボードで使用できるようにします。
- 便利なリンク
- 変換をローカルで編集する
- 前提条件
- データ変換を開く
- 入力データ
- 変換
- データ モデルを表示および編集する
- 検証の確認
- テーブルを追加する
- リレーションを追加する
- テーブルのキーを変更する
- リレーションを削除する
- テーブルを削除する
- 新しいデータ モデルをダッシュボードで使用できるようにする
- 変換ログを表示する
- ログ レベル
- ログをフィルター処理する
- ログ ファイルを保存する
- データ変換を編集およびテストする
- 変換を編集する
- クエリを実行する
- フォルダーとファイルを追加する
- フォルダーまたはファイルの名前を変更する
- フォルダーまたはファイルを削除する
- ファイルにコメントを追加する
- ファイル内で検索/置換する
- dbt プロジェクト構成ファイルを編集する
- 変換をダッシュボードで利用できるようにする
- イベント ログを結合する