ワークシートで100,000回以上使用されるUDFがあるとします。関数内で、バッチ内でさらに何回呼び出されるかを知る方法はありますか?基本的に私がやりたいのは、すべての関数に実行する作業のToDoリストを作成させることです。私は次のようなことをしたい:
IF remaining functions to be executed after this one = 0 then ...
これを行う方法はありますか?
バックグラウンド:
パラメータ(日付、時間、ノード、タイプ)を指定するだけでユーザーがSQLクエリを実行するUDFを作成したいと思います。関数が実行されるたびにSQLクエリを実際に実行する場合は、これを行うのは非常に簡単です。私がこれをしたので、それが途方もなく遅いので、私はそれが簡単であることを知っています。私の新しいアイデアは、関数が探しているデータがグローバルキャッシュ変数に存在するかどうか、そしてそれをグローバル変数「job-list」に追加しないかどうかを最初に確認することです。
私がやりたいのは、最後の関数が呼び出されてジョブリストを調べ、実行するSQLクエリの数が最も少なく、グローバルキャッシュ変数を埋めるときです。キャッシュ変数がいっぱいになると、テーブルの更新を実行して、他のすべての関数が再度呼び出されるようにします。これは、後続の呼び出しで、必要なデータがキャッシュ内にあるためです。