HANAKO
(HANAKO)
1
いつもお世話になっております。
標題の件についてご相談させてください。
図は下記の通りで2つのデータがあり、それぞれデータテーブルにしています。

※実際はデータ①1000件ぐらい。データ②は15件ほど。
エクセルだとWorkday関数で=WORKDAY(C6,F6)で加算していました。
■やりたいこと
データ①のroboIDとデータ②のroboIDが同じだった場合
データ②のdeliveryDaysをcreateDateに加算させて
加算させた情報をデータ①createDateに書き込みたいです。
例
BB-102のcreateDateは2021/7/1なので
データ②のdeliveryDaysの5日を加算
2021/7/6にしてC6のセルに書き込みたい。
■途中までの作成
繰り返し (データ テーブルの各行)
↓
条件分岐
データ②.AsEnumerable.Any(function(r) r(“roboID”).ToString=CurrentRow.Item(“roboID”).ToString)
参照:条件分岐の使い方について
↓
この後の処理がわからないです。
データ①とデータ②のroboIDが同じだったら、
データ②のそれぞれのdeliveryDaysを取得する
それぞれ。。。変数に毎回取得する?
Dictionary型でConfig読み込みと同じようにやってみたり、、でも違う。
どなたかアドバイいただけると嬉しいです><
よろしくお願いします!!!
Yoichi
(Yoichi)
2
こんにちは
やり方はいくつかあると思いますが、
方法1:データテーブルを結合アクティビティを使う
方法2:データ2がマスタっぽいので、こちらの内容をあらかじめDictionaryに格納して、データ1の各行を更新する
あたりが候補になるのではと思います。
1 Like
HANAKO
(HANAKO)
3
さっそくの回答ありがとうございます!
いま方法2のDictionary型で進めているのですが、
条件分岐でroboID=roboIDでイコールになっているので
それ以降の処理はdeliveryDaysを取得するでいいということでしょうか?
(条件分岐のあとroboIDが同じかどうかは気にしなくていい)
例えばBB-102のdeliveryDaysを取得はDictionary型だと
どのように取得すればいいかわからないです><
Yoichi
(Yoichi)
4
こんにちは
エラー対応を除けば条件分岐は不要と思います。
イメージとしては以下の様になると思います。
データ1のRobotIDの中に、データ2のRobotIDが無いものがあれば、それの対応が必要になるかと思います。
1 Like
HANAKO
(HANAKO)
5
やってみました。
すごい、、、、一瞬でできました。
こんなスマートなやり方があるなんて。。
鳥肌がたっています。
ずっとおなじroboIDをイコールだったら~と考えていましたが、、、
考え方が違っていました、、、
createDateにdict{roboID,deliveryDays}を当てて
繰り返し処理していくのですね!
このfunctionを使ったやり方、まだまだ勉強不足で。。
本当にありがとうございますm(_ _)m
1 Like
system
(system)
Closed
6
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.