cancel
Showing results for 
Search instead for 
Did you mean: 

コレクションデータから、一部のデータを抜き取りたいが…

MarikoNishiwaki
Level 6
こんにちわ。西脇です。
表題の件めっちゃ悩んでます。

<背景>
データA(3000個)から
連続したロットデータ1000個をコレクションしたい

<できないこと>
データAには例えば、ロットX500・ロットY2000・ロットZ500の順にデータが入っているとすると、
ロットYを選択して最初の1000個選択してほしいのです。

そこで、データAを繰り返しにして最初からロットをコレクション(トレースデータ)書きだします。
直前のデータと今から入れるデータを比較して同じロットならコレクションに書きだし、違ったらコレクションの中身を削除し、次のロットデータを書きだしたいと思っています…

が、コレクションの削除を実行すると、データAの最初からまた始まってしまいます。。。

コレクションの仕様でしょうか?

他にいい方法ないでしょうか?

以上、よろしくおねがいいたします。。。。

1661.jpg


------------------------------
Mariko Nishiwaki
ProjectAsistantManager
Denso
Asia/Tokyo
------------------------------
4 REPLIES 4

MarikoNishiwaki
Level 6
よく考えたらサポート案件だったので、サポート投げました。。。
良かった私の汚いロボットみてください笑

------------------------------
Mariko Nishiwaki
ProjectAsistantManager
Denso
Asia/Tokyo
------------------------------

TetsujiJunicho
Level 9
こんにちは

オーソドックスなやり方だと、Collectionを3つ用意するやり方ではないでしょうか?

Collection A:元のCollection
Collection B:元のCollectionから合致した行(1000行分)を削除したCollection
Collection C:合致した行だけのCollection(1000行分)

  1. Collection Aをループで回す
  2. 合致しない行はCollection Bに追加
  3. 合致した行をCollection Cに追加(1000行分)
  4. 合致した1000行分以降のすべての行をCollection Bに追加
  5. ループの終了

Collection Aは捨てて、Collection BとCだけを以降使うことになります。
いかがでしょうか。




------------------------------
Tetsuji Junicho
Manager of RPA Practice Grp.
Accenture Japan
Asia/Tokyo
------------------------------

お返事ありがとうございます!
なるほど~参考にさせていただきます!

ロットは
ロットA2000ロットB1000という並びのパターンがあったりするので、
最初のAを捨てる判断も入れないとダメですね~。

------------------------------
Mariko Nishiwaki
ProjectAsistantManager
Denso
Asia/Tokyo
------------------------------

そうですね

合致するデータが合計1000行あるかどうかの判断が必要になるかと思います。
※もっと厳密に言うと、合致しないまま残り1000行を切った場合、合致した行数と残業数が1000行を切った場合、などは無条件にループを強制終了して良いと思います。

------------------------------
Tetsuji Junicho
Manager of RPA Practice Grp.
Accenture Japan
Asia/Tokyo
------------------------------