日付計算の方法

あ!実装していました。Main.xamlで休業DTを展開し、それをINVOKEの引数に渡していましたね(^^♪

私の書き込みが間違えていました。混乱させてすみません

ありがとうございます!
そうなのですね!
基本的で重要な事項だと思ったので自分のPCのデスクトップに貼り付けちゃいました☺

なるほどです!
また初めての話でした!!

では、ここで元のファイルへ書き込みしたければ、
データテーブルへ書き込みしていけば良いということでしょうか。

そこは業務仕様に合わせて組み上げていってくださいませ。

※ログファイルは、StudioからCtrl+lでそのフォルダが開きます。中にあるLOGファイルは、消しても影響ないので、必要に応じて古いものは削除していくことをお勧めします。たまに巨大なログになるから(^^♪

なるほどなるほどです!!
ありがとうございます!

お疲れ様です。
お世話になっております。

頂いたrobotなのですが、現在3秒/件 で動いております。
調査対象が4万件強あり、12万秒・・・
私のPCでは10時間ほどuipathを動かすと落ちてしまいます。
このような場合、何回かに分けてするべきですか?

StudioでINVOKE WORKFLOWを使用すると、毎回メモリに展開する行為が発生して、それこそ秒単位かかります。ですので、PUBLISHして使用するか、例えば「生産予定日」、「積上日数」でSORTし(アクティビティでは実装しにくい)、二つの列の値が同じだったらINVOKEしないようにするとか、ちょっと工夫は必要ですね。

おはようございます!
アドバイスありがとうございます!

でも難しい話すぎて。。。:cry:

こんにちは

頂いたrobotなのですが、現在3秒/件 で動いております。
調査対象が4万件強あり、12万秒・・・
私のPCでは10時間ほどuipathを動かすと落ちてしまいます。

データ量が多い場合は、適切なアルゴリズムを選択することが重要かと思います。
今回のケースの場合、データ量が多いとのことで、ループの中での演算量を最小にする
アプローチが必要かと思います。取り急ぎ以下の手順のサンプルを添付しますのでご確認ください。

1.あらかじめ、休日表から、ソート済非休日リスト(稼働日リスト)を作成する。
2.ループ内で対象の日付について稼働日リストでのBinarySearchを行い、当該日のindexを取得する。
そのindexに積み上げ日数を引き算したインデックスの稼働日リストのアイテムが納期になります。

Sample20210114-3.zip (17.2 KB)

(サンプルでは2020/12/1から60日分の稼働日リストを生成しています。)

1 Like

サンプルまで作って頂きありがとうございます。
今から見させて頂きます。
取り急ぎお礼申し上げます。

1 Like

お疲れ様です。
昨日頂いたサンプルをPCへ取り込み、動かしてみたのですが、
以下のエラーが出ました。
どこを設定し間違えたのか分かりますでしょうか。

こんにちは

zipを解凍したものをそのまま実行してエラーがでていますでしょうか?
それともデータ等を変更していますか?

Excelファイル2種類の中身を変えました。
日付計算②.zip (1.6 MB)

こんにちは

稼働日リストの範囲外の日付が指定されたので、エラーとなっている模様です。
ワークフローの最初にある2つのアサインで稼働日リストの作成範囲を設定していますので
例えば以下のように設定してみてください。

startDate = new Datetime(2021,1,1)
days = 180

なお実行時は「デバッグ」ではない「実行」で行うと、速度が速くなります。
(手元の環境では数秒で処理できました)
あと上記のファイルはダミーデータなら問題ありませんが、そうでないなら消しておいた方が
無難かもしれません。