- リリース ノート
- 基本情報
- インストール
- 構成
- 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
例: Python スクリプトを作成する
この例では、 UiPath Process Mining プラットフォームに外部の Python スクリプトをインターフェイスし、外部のデータ処理を実装する方法について説明します。
Python スクリプトが作成されます。次のスクリプトがあります。
- は
.CSV
ファイルを入力として取ります。コマンド ラインで必要な唯一の引数として指定します。 - [金額 ] の値に 2 つを掛けた値です。
- その標準出力チャネルに結果を書き込みます。
汎用スクリプトのデータソースには、実行するすべての外部プロセスのハンドラーが必要です。
汎用スクリプト ハンドラーを追加するには、以下の手順に従います。
手順 |
操作 |
---|---|
1 |
[Superadmin Settings] タブに移動します。 |
2 |
1 つのキー「py」を持つオブジェクトを値として持つフィールド
GenericScriptHandlers を追加します。このオブジェクトは、Python の実行可能ファイルへのパスの値として持ちます。 例えば:
|
3 |
[保存] をクリックします。 |
まず、データ処理をまだ行っていない最小限のスクリプトを作成します。 このスクリプトは、Python の設定が正しく機能していることを確認し、スクリプトが UiPath Process Mining プラットフォームから呼び出されていることを確認するために使用されます。
このスクリプトの例では、スクリプトの実行ログに表示される出力を生成する方法と、スクリプトの終了コードが UiPath Process Mining プラットフォームの動作にどのように影響するかを示します。
手順 |
操作 |
---|---|
1 |
お気に入りのエディターで、空白のテキスト ファイルを開始します。 |
2 |
次のテキストを入力します。
メモ:
debug(“Hello world!”) コマンドは、標準のエラー・チャネルを使用して、メッセージを出力し、デバッグする出力を実行する方法の例です。
|
3 |
テキスト ファイルを
script.py として保存します。
|
4 |
script.py ファイルをワークスペースにアップロードします。
|
このスクリプトは「Hello world!」というメッセージのみを出力します。 スクリプト インターフェイスは、スクリプトから 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!」というメッセージが表示されます。
スクリプト ファイルの場所は、テーブルのスコープによって決定されます。 [ サーバー ] または [ ワークスペース]または [なし] に設定できます。 [なし]に設定する場合、スクリプト ファイルへのパスは絶対です。 [サーバー ] または [ワークスペース]に設定すると、スクリプトの場所は相対パスとして解釈されます。
.CSV
形式でエクスポートされ、Python スクリプトで読み込むことができます。
この例では、 ケース テーブルと イベント テーブルを持つアプリケーションを使用します。 以下の画像でご確認ください。
次の手順を実行します。
手順 |
操作 |
---|---|
1 |
Create a new Global table,
PythonInputData .
|
2 |
新しい式属性を追加
PythonInputData_Amount 。
|
3 |
[型 ] を [Lookup]に設定します。 |
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()
関数の入力に Text 型が必要であるため、結果として生成される CSV ファイルのレコードの形式は、選択した属性の種類 (この場合は 金額 の種類が Currency)、現在アクティブな表示形式によって異なります。ここで、通貨の種類は二重に変換され、Python スクリプトで後でレコードを解析しやすくなります。
テキスト エディターで script.py ファイルを次のコードで更新します。
#!/usr/bin/python
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/python
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 |
新しいスクリプトを Workspaceにアップロードし、既存のファイルを上書きしてアプリケーションに戻ります。 |
2 |
PythonExample テーブルを右クリックし、[ 編集...] を選択します。
|
3 |
Modify the
inputData parameter of the query string for the PythonExample table:
以下の画像でご確認ください。 |
4 |
[OK] をクリックします。 |
5 |
[ はい ] をクリックします (2 回)。 |
6 |
[OK] をクリックします。 |
PythonExample
テーブルのデータソースの属性として 、[金額] と [Case_ID] の 2 つを追加しました。以下の画像でご確認ください。
[金額 ] 属性を検査すると、すべての金額に 2 人を掛けた値が表示されます。以下の画像は、Python スクリプトによって生成される出力の例です。