UiPath Datatable PrimaryKeyを設定してVLOOKUP関数のように検索する

主キー(PrimaryKey)とは?

DataTableには主キーと呼ばれる重複のない列、軸となる列を設定することができます。イメージとしては「No」といった連番の数字、もしくは簡単なテーブルなら「氏名」など。もしくは氏名は重複が存在する可能性があるので「電話番号」などが主キーとなる可能性もあります。

サンプルとして、以下のようなDatatableが存在するとします。

このDataTableの列「電話番号」を主キーとして、電話番号に紐づく列「氏名」を出力したい場合、どうすればいいでしょうか?イメージとしてはExcelのVLOOKUP関数で電話番号を元に氏名を参照する感覚です。それではやってみましょう。

DataTableに主キーを設定

まず上記画像のようなアクティビティ「データテーブルを構築」で顧客名簿のようなDataTable型「Dt」を出力します。その後にAssignアクティビティでDtに主キーを設定しましょう。


詳細のコードは以下の通りです。

'---左辺
DataTable型.PrimaryKey
'---右辺
New DataColumn(){DataTable型.Columns.Item("電話番号")}

何が起こっているのかローカルパネルを見てみる

PrimaryKey(主キー)?PrimaryKeyについてイメージが追い付いていない方もいらっしゃると思いますので、ここで一度デバッグをしてみましょう。
この画像はまだPrimaryKeyを(主キー)を設定していない画面です。ローカルパネルのPrimaryKeyを見てみると、DataColumn[0]{} つまり何も存在しないことが示されています。

ここでもう一歩ステップインして主キーを代入してみましょう。
するとPrimaryKeyの中に値DataColumn[1]{[電話番号]}が記載されているのがわかります。

このようにDataTable型変数には様々な要素が含まれています。DataTable.Columnsと記載すれば列関連、DataTable.Rowsと記載すれば行関連の要素が出力されます。それと同じようにDataTable.PrimaryKeyという要素に詳細を記載した、ということです。

Findを使ってDataTableからVLOOKUPのように検索する

では次にFindを使ってDataTalbeから要素を検索してみましょう。
はじめに、DataTableから電話番号「0761101503」を検索し、列「氏名」を出力してみたいと思います。期待値としては「岡田常男」が出力されます。

まず変数「電話番号」作成し、検索したい電話番号を設定します。今回は”0761101503”を設定してみましょう。

代入アクティビティの詳細は以下になります。

'---左辺
氏名

'---右辺
Dt.Rows.Find(電話番号).Item("氏名").ToString
Dt.Rows.Find("PrimaryKey列から検索したい文字列").Item("参照先の列名").ToString

最後にデバッグをして通してみましょう。1行書き込みに変数「氏名」が出力されれば成功です。

UiPath DataTable PrimaryKey 概要

無事に出力されました。

UiPath DataTable PrimaryKey 出力結果

98件のフィードバック

  1. Attractive section of content. I just stumbled upon your web
    site and in accession capital to assert that I get actually
    enjoyed account your blog posts. Any way I’ll be subscribing to your
    feeds and even I achievement you access consistently
    rapidly.

    Also visit my web blog: vpn special coupon

  2. world pharmacy india [url=http://indianpharm24.pro/#]Indian pharmacy international shipping[/url] reputable indian pharmacies

  3. pharmacy website india [url=http://indianpharm24.pro/#]Pharmacies in India that ship to USA[/url] india pharmacy mail order

  4. п»їlegitimate online pharmacies india [url=http://indianpharm24.pro/#]indian pharmacy purchase online[/url] india online pharmacy

  5. Howdy! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get my
    blog to rank for some targeted keywords but I’m not seeing very good success.
    If you know of any please share. Thank you! I
    saw similar blog here: Eco product

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

目次