- リリース ノート
- 基本情報
- インストール
- 構成
- Integrations
- 認証
- アプリおよびディスカバリー アクセラレータを使用する
- AppOne のメニューとダッシュボード
- AppOne の設定
- TemplateOne 1.0.0 のメニューとダッシュボード
- TemplateOne 1.0.0 セットアップ
- TemplateOne のメニューとダッシュボード
- TemplateOne 2021.4.0 のセットアップ
- Purchase-to-Pay Discovery Accelerator のメニューとダッシュボード
- Purchase to Pay Discovery Accelerator の設定
- Order to Cash Discovery Accelerator のメニューとダッシュボード
- Cash Discovery Accelerator の設定への注文
- 基本コネクタ (AppOne 用)
- SAP コネクタ
- SAP Order to Cash Connector for AppOne
- SAP Purchase to Pay Connector for AppOne
- SAP Connector for Purchase to Pay Discovery Accelerator
- SAP Connector for Order-to-Cash Discovery Accelerator
- Superadmin
- ダッシュボードとグラフ
- テーブルとテーブル項目
- アプリケーションの整合性
- 使い方 ....
- SQL コネクタを使用する
- 便利なリソース
Process Mining ユーザー ガイド
はじめに
この例では、 UiPath Process Mining プラットフォームを外部 Python スクリプトとインターフェイスさせて、外部データ処理を実装する方法について説明します。
このセクションの例は、Python バージョン 3 に基づいています。
概要
Python スクリプトが作成されます。次のスクリプトがあります。
- は
.CSVファイルを入力として取ります。コマンド ラインで必要な唯一の引数として指定します。 - [金額] の値に 2 を掛け、
- その標準出力チャネルに結果を書き込みます。
手順
- サーバーの設定を設定する
- ワークスペースを設定する
- スクリプト のデータ ソースを設定する
- データ ソースを設定する
- スクリプトを記述する。
サーバー設定を設定する
汎用スクリプトのデータソースには、実行するすべての外部プロセスのハンドラーが必要です。
汎用スクリプト ハンドラーを追加するには、以下の手順に従います。
| 手順 | 操作 |
|---|---|
| 1 | [Superadmin Settings] タブに移動します。 |
| 2 | 値として Python 実行可能ファイルへのパスを持つ 1 つのキー "py" を持つオブジェクトを値としてフィールド GenericScriptHandlers を追加します。例: "GenericScriptHandlers": { "py": "P:/Python/bin/python.exe" } |
| 3 | [保存] をクリックします。 |
ワークスペースを設定する
まず、まだデータ処理を行わない最小限のスクリプトを作成します。このスクリプトを使用して、Python の設定が機能していることを確認すること、およびスクリプトが UiPath Process Mining プラットフォームから呼び出されていることを確認します。
このスクリプト例は、スクリプト実行ログに表示される出力を生成する方法と、スクリプトの終了コードが UiPath Process Mining プラットフォームの動作に与える影響を示しています。
| 手順 | 操作 |
|---|---|
| 1 | お気に入りのエディターで、空白のテキスト ファイルを開始します。 |
| 2 | 次のテキストを入力します。 注: |
| 3 | テキスト ファイルを script.py として保存します。 |
| 4 | script.py ファイルをワークスペースにアップロードします。 |
このスクリプトは "Hello world!" メッセージのみを出力します。このスクリプトのインターフェイスは、スクリプトから UiPath Process Mining プラットフォームへのデータ通信に 標準出力 を使用します。スクリプトにステータスメッセージを含める場合は、代わりに standard error に書き込む必要があります。
このスクリプト例は、ステータス コード 1 で終了します。0 以外のステータス コードは、 UiPath Process Mining プラットフォームではエラー状態として解釈されます。
スクリプト データ ソースを設定する
次に、スクリプトを呼び出すデータソーステーブルをアプリ内に設定します。 スクリプトでまだデータが処理されないため、いくつかのダミー データから始めます。 この段階で、スクリプトが期待どおりに実行されることを検証します。つまり、「Hello world! (こんにちは、ワールド)」というメッセージが表示されます。
| 手順 | 操作 |
|---|---|
| 1 | 開発環境でアプリを開きます。 |
| 2 | [ データ ] タブに移動し、新しい接続文字列テーブルを作成します。 |
| 3 | New_tableの名前を PythonExample に変更します。 |
| 4 | PythonExample テーブルを右クリックし、[詳細] > オプションを選択します。 |
| 5 | [ 表のオプション ] ダイアログで、[ 表のスコープ ] を [ワークスペース ] に設定します。 |
| 6 | PythonExample テーブルをダブルクリックして、[接続文字列テーブルを編集] ウィンドウを開きます。 |
| 7 | [接続文字列] として以下を入力します。 ``'driver={mvscript |
| 8 | クエリとして以下を入力します。 ``''
inputData の例の "#10" は、改行文字を指定します。 すなわち。 UiPath では、以下のダミーの CSV データを定義します。
|
| 9 | [OK] をクリックします。 |
| 10 | [YES] をクリックします。 |
テーブルの更新が失敗し、エラー ログに「Hello World!」というメッセージが表示されます。
スクリプト ファイルの場所は、テーブルの範囲によって決まります。これは、[サーバー] または [ワークスペース] または [なし] のいずれかに設定できます。[なし] に設定すると、スクリプト ファイルへの絶対パスが絶対パスになります。サーバーまたはワークスペースに設定されている場合、スクリプトの場所は相対パスとして解釈されます。
外部 Python スクリプトを使用してインターフェイスを設定するための残りの手順を正常に完了できるようにするには、"Hello World!" の例を動作させる必要があります。
データ ソースを設定する
外部スクリプトで処理するデータをエクスポートするには、まず Python スクリプトで必要なフィールドを選択します。 これを行うには、Python スクリプトに必要なすべてのフィールドを含むテーブルを新しく作成します。 この表は後 .CSV 形式でエクスポートされ、Python スクリプトで読み込むことができます。
この例では、Cases テーブルと Events テーブルを持つ アプリケーションがあります。以下の画像でご確認ください。

次の手順を実行します。
| 手順 | 操作 |
|---|---|
| 1 | 新しい グローバル テーブル PythonInputDataを作成します。 |
| 2 | 新しい式属性を追加 PythonInputData_Amount。 |
| 3 | [種類] を [参照] に設定します。 |
| 4 | [入力テーブル] を「Cases_base」に設定します。 |
| 5 | 式を listtojson(text(double(records.Amount)))に設定します。 |
| 6 | 式レベルを root に設定します。 |
| 7 | [OK] をクリックします。 |
| 8 | このCase_IDに、別のルックアップ式属性を追加します。式を listtojson(text(double(records.Case_ID)))に設定します。 |
検索式属性の形式は、文字列のリストである必要があります。これは、 csvtable() 関数を使用してデータを .CSV 形式に変換し、(テキスト) レコードのリストを予期するためです。listtojson() 関数では、入力がテキスト型である必要があるため、生成される CSV ファイル内のレコードの形式は、選択した属性の種類 (この場合は Amount は Currency 型) と、現在アクティブな表示形式によって異なります。ここでは、後で Python スクリプトでレコードを解析しやすくするために、currency 型が double に変換されています。
スクリプトを記述する
テキスト エディターで script.py ファイルを次のコードで更新します。
#!/usr/bin/pytho
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
#!/usr/bin/pytho
import csv
import sys
def debug(message):
sys.stderr.write(message)
# Read the CSV header. This is used so that the script will output the fields
# in the same order that they were read in. This step is optional.
column_order = [];
with open(sys.argv[1]) as csv_file:
reader = csv.reader(csv_file, delimiter=';')
column_order = next(reader)
# Process the input file
with open(sys.argv[1]) as csv_file:
reader = csv.DictReader(csv_file, delimiter=';')
# Construct the output writer.
writer = csv.DictWriter(
sys.stdout,
column_order,
delimiter=';',
restval='',
quoting=csv.QUOTE_ALL
)
writer.writeheader()
for row in reader:
# Get data from row
case_id = row['Case_ID']
amount = int(row['Amount'])
# Do computation
amount = amount * 2
# Write results
writer.writerow({'Case_ID': case_id, 'Amount': amount})
# Exit indicating success
exit(0)
以下の手順を実行します。
| 手順 | 操作 |
|---|---|
| 1 | 既存のファイルを上書きして新しいスクリプトを ワークスペースにアップロードし、アプリケーションに戻ります。 |
| 2 | PythonExample表を右クリックして、[編集...] を選択します。 |
| 3 | PythonExample テーブルのクエリ文字列の inputData パラメーターを次のように変更します。+ '&inputData=' + urlencode(csvtable( "Case_ID", jsontolist(PythonInputData.Case_ID), "Amount" , jsontolist(PythonInputData.Amount), )) 以下の画像でご確認ください。 |
| 4 | [OK] をクリックします。 |
| 5 | [はい] (2x) をクリックします。 |
| 6 | [OK] をクリックします。 |

PythonExample テーブルに、Amount と Case_ID の 2 つのデータソース属性が追加されました。以下の画像でご確認ください。

Amount 属性を調べると、すべての金額に 2 が乗算されていることがわかります。Python スクリプトによって生成される出力の例は、以下の画像でご確認ください。
