Web Analytics Made Easy - StatCounter

Economics Of TEC

RPA,経済学,IT技術などに関する情報を発信しています。

【UiPath】Select文の条件の型を変換する方法

f:id:WillSpecter:20200712173310p:plain

 やりたいこと

条件の型を数値型に変換する方法

 以下にDataTable型の変数dt従業員があるとします。

f:id:WillSpecter:20200705155401p:plain

年齢が50歳以上のデータを取得したい場合、通常のSelect文を使用すると、

dt従業員.Select("[年齢] >= 50' ").CopyToDataTable

で取得することができます。

 

ただ、このデータテーブルを読み込んだ時に年齢を数値ではなく文字列として認識するケースがあって、その場合は文字列型と数値型を比較することはできません。とエラーになってしまうことがありました。

 

そんな時に以下のConvertを使用することで年齢を数値型に変換して、条件を設定することができたので紹介します。

dt従業員.Select("Convert([年齢], System.Int32) >= 50 ").CopyToDataTable

 

上記のように対象の列をConvertで囲んで、カンマの後ろに変換する型を入力することで変換することができます。

 

実際に書き込みしてみます。

f:id:WillSpecter:20200712173347p:plain

結果↓

f:id:WillSpecter:20200712173409p:plain

無事に50歳以上のデータを取得することができました!

文字列型に変換する

数値型を文字列に変換する場合は、System.Stringにするだけです。

dt従業員.Select("Convert([年齢], System.String) = ’50’ ").CopyToDataTable

 

こうすることで年齢を文字列に変換して、'50'という文字列と比較することができます。

ひとこと

Select文を使っている時に、コードは合っているはずなのにエラーで進めない、、

となった場合は、条件で比較する型が同じか確認してみてください!

 

Excelを読み込んでデータテーブルを取得する際に、形式が文字列指定になっていたりするケースでこういった事象が多い気がします。。

 

 UiPathのバージョン2016?くらいを使用していた時にこの方法で解決していたのですが、バージョン2020ではExcelで文字列指定していても、数値と比較できたのでバージョンによっては対応されているのかもしれません。

 

Select文やデータテーブルの操作については他にも紹介しているので、ぜひ参考にしてみてください!

 

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

it-rpa.hatenablog.com

ひとり情シスのためのRPA導入ガイド