データテーブルへの連番の付与について

こんにちは

現在作成しているRPAで50万行のテーブルを扱う処理があり、各行に連番で番号を振りたいです。
「繰り返し(各行)」アクティビティで1行ずつ値を入れていくと2時間ほどかかる見込みのため
他の方法で効率よくセットする方法はないでしょうか?

「データ列を追加」の既定値のところがうまく使えないかと思っているのですが
どうしたらよいかご意見をお聞かせください。

動作方法はデバッグでしょうか? 実行でしょうか?

デバッグだと、各行の内容を一つずつデバッグしながら動作するため
非常にスピードが落ちてしまいます。

ファイルを実行 または実行ボタンを 押してみてください。
各行の詳細工程を省くため、スピードが向上いたします。

他の方法ですと、Invoke Codeを使ってコーディングしていく方法がなどがあります。

1 Like

@basashi5

力技で良ければ、以下の方法を使うことがあります。
①データテーブルの行数を取得
②連番票(*) を指定の行数読み込む
*あらかじめExcelか何かで1~必要十分な連番を書いた表を用意しておく
③データ列を追加で、読み込んだ列を差し込む

パフォーマンスを考慮するとなると、プログラムで附番するよりは、あらかじめ用意した連番を突っ込むほうが早いことが多いです。ご参考まで。

3 Likes

ご回答ありがとうございます。
実行であれば確かに劇的に早くなり10秒ほどで処理できました。
デバッグで確認できるように参照用のエクセルを使う方法を使わせて頂きます。

お早い回答ありがとうございました。

1 Like

これのサンプルロボ、アップしていただけませんか?

参照用のエクセルを使う方法なのですが、実際にやろうとしたところ
データ列を追加しようとすると「既に別のdatatableに属しています」とのエラーが出てしまい
追加することができませんでした。
どのようにすれば追加できるでしょうか?

補足として、今作成しているロジックでは、参照用のエクセルをテーブル(table1)に読み込み、
「データ列を追加」アクティビティの入力-列の箇所にtable1.columns(0)で入力しています。

table1.copy.Columns(0)とやっても、「既に別のdatatableに属しています」になってしまっています。

@basashi5 @HANACCHI
スミマセン。データ列を追加でできる気がしてましたが、過去自分が作ったコード見たら、一度テンポラリのExcelに書き込み(A1に番号、B1にデータのように。。。)、それを再度読み込み、データテーブルを作っていました。
もしかしたら、データテーブル操作でやりようはあるかもしれませんが、手数を考えるとこれが一番パフォーマンス良いかと。。。

2 Likes

承知しました。とりあえずエクセル上の操作で連番を入れた後にデータテーブルとして取り込むようにします。
ご回答ありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.