LoginSignup
2
0

More than 1 year has passed since last update.

Before starting UiPath:DataTableってなんだ

Posted at

皆もすなる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でのロボ開発の一助になればと思っています。

ありがとうございました!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0