gorby
(gorby)
1
こんにちは。
UiPath Studio 2024.4.0 Community editionのユーザです。
1.やりたいこと
dt_Datatableの列名は{“TimeStamp”,“Level”,“Message”}
dt_Datatable2の列名は{“Start”,“End”,“TimeSpan”,“Status”}
になります。
dt_Datatableにはデータが埋まっているが、dt_Datatable2は空の状態です、
この前提で、ある条件がマッチした場合にdt_Datatableからdt_Datatable2にデータ転記したいです。
2.知りたいこと
この前提で、dt_DatatableをForEachRowアクティビティで回して、
Row(“Message”).ToString.Contains(“1番目の処理を開始(初回実行)”)
の条件がマッチした場合に、dt_Datatable2に
Row2(“Start”)=Row(“TimeStamp”)
の代入文で、dt_DatatableのRow(“TimeStamp”)をRow2(“Start”)に転記できるでしょうか。(添付画像参照
)
cheez_RPA
(いわさき りょうすけ (UiPath Japan MVP 2019 - 2021))
2
dt_Datatable2
は当初は空の状態、ということなので、dt_Datatable
の繰り返しで条件にマッチした行のデータを、dt_Datatable2
に新しい行として追記していきたい、ということでしょうか。
それであれば、下記の流れで作れるかと思います。
- 代入 で、
newRow
= dt_Datatable2.NewRow
と作成
- 左辺の
newRow
は System.Data.DataRow
型にする
- 代入で、
newRow("Start")
= row("TimeStamp")
と作成
- データ行を追加(Add Row Data)で、
dt_Datatable2
に newRow
を追加する
gorby
(gorby)
3
回答ありがとうございます。これから検証してみます。
ちなみに私の案でも、内側のForEachRowアクティビティ内にBreakアクティビティを追加すればいけそうな気がしたのですが、いかがでしょうか。(添付画像参照
Yoichi
(Yoichi)
4
例外が発生するかどうかの観点ですと「列の型に依存する」になります。
例えば双方object型なら例外は発生しません。
gorby
(gorby)
5
さすがUiPath、難解ですね。
すみません。私のスキルでは私の質問に対しどうしてそのような回答になるのか全く理解できませんでした。内側のForEachRowアクティビティ内にBreakを挿入してもダメでしょうか。
Yoichi
(Yoichi)
6
上記からですと各DataTableがどのように作られたがかわりませんので、上記の回答をしました。
例えばもし双方ともEXCELから範囲読み込みで出力したものであれば、例外は発生しません
ただし実現したいことが上記で想定通りになるかは、最初のPOSTからだけではわかりませんので、ダミーでも良いので具体的な入力と出力を共有いただいた方が良いかと思います。
cheez_RPA
(いわさき りょうすけ (UiPath Japan MVP 2019 - 2021))
7
Row2
の元になる dt_Datatable2
は、最初は空の状態(=行のデータが1つもない状態)なのですよね?
それならば、dt_Datatable2
に対するループ処理が発生しないです(行データの数だけ繰り返す→行がなければ繰り返されない)。
system
(system)
Closed
8
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.