Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

UiPath Dictionary型変数を使用したワークフロー開発(2)

1.はじめに

前回の記事の続きです。
DictionaryからDataTable化する方法を解説していきます。

DictionaryからDataTableへ変換する機会が多いと思われますので、別のワークフローファイル(Xamlファイル)から、当該ワークフローを呼び出して使用した方が良さそうです。今回は、呼び出し元のワークフローからDictionaryを入力引数として受け取り、DataTableへ変換の上、出力引数としてDataTableを返す、という部品にすることを前提に解説します。

2.ワークフロー図

UiPath Studioで作成するワークフローの引数、変数、シーケンスを以下に示します。

引数
2020-06-22_02h03_36.png
変数
2020-06-22_02h04_45.png
シーケンス
ディクショナリ_データテーブル変換部品.jpg

3.解説

3.1 空のデータテーブルを作成

空のデータテーブルを新たに作成します。このデータテーブルは出力引数とします。
スライド1.PNG

3.2 データテーブルにヘッダー(列名)を追加

出力引数「データテーブル」に対し、「繰り返し(コレクションの各要素)」を使用し、入力引数「ディクショナリ」のKeysの数だけ、ヘッダー(列名)を追加します。
スライド2.PNG

3.3 データテーブルに属するデータレコード(Row)を作成

データテーブルに属する、新たな変数「データレコード」を作成します。
スライド3.PNG

3.4 データレコードの各列に値を代入

変数「データレコード」に対し、「繰り返し(コレクションの各要素)」を使用し、入力引数「ディクショナリ」のValuesの数だけ、値を代入します。列の位置は、インクリメント(カウントアップ)します。
スライド4.PNG

3.5 データレコードをデータテーブルへ追加

値が格納された変数「データレコード」を、出力引数「データテーブル」へ追加します。
スライド5.PNG

4.最後に

以上が、DictionaryからDataTable化する方法となります。
このような処理は何度も使用することになると思いますので、開発工数やテスト工数を削減するためにも、Xamlファイルのまま他のワークフローから呼び出すか、ライブラリ化することをおすすめします。

次回は、DataTableをCSV化し、マージ(統合)する方法について、解説したいと思います。

masaru9624
職場でAI-OCR、RPA等の導入推進をしています。 デジタルトランスフォーメーション、BPRといった言葉が好物です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away