皆もすなるQiitaといふものを、儂もしてみむとてするなり。
と言う訳で、こん**は!はなっち!です。
★★★この記事はUiPathブログ発信チャレンジ2021サマー、7/28の記事です。★★★
今回は、ちょっとしたシリーズです。UiPathを使うに当たって、UiPathの機能ではなく、コンピュータ言語を使う上での基礎知識を展開していこうと思います。
DataTableってなんだ
文字列型、数値型、日付時刻型と違って、DataTable型ってなんだか分からない方が多いと思います。
DataTable型は、列と行を持ち、その交点に値を保有できる、所謂、EXCELのシートのようなものを想像すればいいと思います。
DataTableを使用するには、二つの方法があります。
1)出力がDataTable型のアクティビティを使用する。
「CSV を読み込む」アクティビティ
「範囲を読み込み」アクティビティ
「構造化データを抽出」アクティビティ
「データテーブルを生成」アクティビティ
2)自らが、定義したDataTable型に対して、初期化、列の追加をし、行を追加する。
「代入」アクティビティで、初期化する
「データ列を追加」アクティビティで、列を追加する
「データ行を追加」アクティビティで、行を追加する
「データテーブルを構築」アクティビティで、列も追加定義する(上記三つを1アクティビティで実装も可能)
出力がDataTable型のアクティビティの代表に、以下のものがあります。
1)「構造化データを抽出」アクティビティ
所謂、WEB上の表からデータスクレイプするものです。
2)「範囲を読み込み」アクティビティ
EXCELシートから、指定した範囲をもってDataTable型に展開するものです。
3)「CSV を読み込む」アクティビティ
CSVファイルを、DataTable型に展開するものです。
4)「データテーブルを生成」アクティビティ
サンプルデータを基に、DataTable型に展開するものです(意外と思い通りにならない)
上記アクティビティを使わずにDataTableを使用するには、以下の手順を踏みます。
1)「代入」アクティビティ
DataTable型変数を、初期化します(代入アクティビティで、New DataTableする)
2)「データ列を追加」アクティビティ
初期化したDataTableに対して、必要な列を定義します。
3)「データテーブルを構築」アクティビティ
DataTableの初期化と、アクティビティ上で定義した列も定義します(上記二つを1アクティビティで実装)
「データテーブルを構築」アクティビティに設定する事で、データ行も追加する事ができます。
4)「データ行を追加」アクティビティで
列が追加されたDataTableに対して、必要な行を格納します。
最近のUiPath Studioでは、変数を定義する際の型の候補に「DataTable」が追加されています(2018.4.4には無かった)。
それは即ち、UiPath側でもDataTableが多用されている、利便性を向上させようと言う意思の裏付けだと思っています。
おわりに
いかがでした?
DataTable型は、EXCELのシート上のセルを操作するEXCEL-VBAを作った事がある人には、多少理解しやすいかもしれませんね。
ただ、DataTable型は、もっと奥が深く、LINQ機能で、対象データをフィルタ掛けつつ並び替えをしたり、行の値毎の件数、合計数を計測したりする事ができます。
私も勉強中であります。皆様に負けぬよう、頑張ります。
是非UiPathでのロボ開発の一助になればと思っています。
ありがとうございました!