この記事は、UiPath Forum で行われている Advent of UiPath 2020 の Advent Challenge #7 の紹介記事です。
過去の投稿
- Advent of UiPath 2020 #1(APIからデータを取得)
- Advent of UiPath 2020 #2(正規表現で文字列を抽出)
- Advent of UiPath 2020 #3(ファイルをダウンロードしてメール送信)
- Advent of UiPath 2020 #4(画像をbase64デコードしてOCRで画像認識)
- Advent of UiPath 2020 #5(2つのエクセルを比較、重複行マージ)
- Advent of UiPath 2020 #6(多重ループ)
“Advent of UiPath 2020” とは何か?
- 英語版のフォーラムで投稿されています。
- RPA challenge です(=お題を出て、みんなでRPA化してみる)
- 誰でも回答できます(フォーラムのアカウントがあれば)
- 3日おきに出題され、計8回(xmasイブまで)あります
- 回答して上位に選ばれれば、フォーラム上でスターがもらえます。
- フォーラムのスタッフが開催しているっぽいです。
チャレンジ7:データテーブルの操作
santa)こんにちはルドルフ、お元気ですか?
deer)元気です、お元気ですか?
santa)レポートの作成など、実行タスクが沢山あるので、自動化して手伝ってください。
deer)わかりました。何をしますか?
santa)レポートを集約しフィルタリング&ソートしたデータテーブルを作ってください。
初心者向けチャレンジ
Data.csv.txtを読み取り、ResultBeginner.csvに出力してください。
RegionCode列でマージ&Task列をカンマで結合してください。
上級者向けチャレンジ
Data.csv.txtを読み取り、ResultAdvanced.csvに出力してください。
RegionCode列でマージ&Task列をカンマで結合してください。
タスクステータスが「DONE」の行は除外します
行を以下のように並べ替えます。
第1ソート:Statusが:NEW> WIP> PAUSED の順
第2ソート:StartDate
感想
今回は「データテーブルの操作」でした。
初心者向けチャレンジは
- 1)結果用データテーブルを構築しておく
- 2)CSVを読み込み
- 3)CSVから重複除去したRegionCode配列を取得
- 4)RegionCode配列でCSVの行ループ
- 5)Task列を集計し結果用データテーブルに格納
- 6)CSVに出力
上級者向けチャレンジは
- 1)結果用データテーブルを構築しておく
- 2)CSVを読み込み
- 3)CSVからタスクステータスが「DONE」の行は除外
- 4)Statusが:NEW> WIP> PAUSED の順でソート
- 5)StartDateでソート
- 6)CSVから重複除去したRegionCode配列を取得
- 7)RegionCode配列でCSVの行ループ
- 8)Task列を集計し結果用データテーブルに格納
- 9)CSVに出力
になると思います。
結構これは難しくて、しっかりロジックを考えないといけないのですが、特に
3)CSVから重複除去したRegionCode配列を取得
してからTaskをカンマ結合する点と
4)Statusが:NEW> WIP> PAUSED の順でソート
で「Statusの値でソートするのではなく、"NEW> WIP> PAUSED" という並び順でソート」=ソート用のキーを別途作る
という点が難しいかなと思います。
データテーブルの操作はUiPathでは避けられないですし、操作の仕方、組み合わせ、アレンジ方法をどれだけ知っているかは、すごく重要だと思います。
知っているかどうか?が大事なので、どこかで操作方法を整理したいと思っています