データ入力ツールで外部のデータベースをSQLで抽出する際に、SQL内のWHERE文で
SELECT ...
FROM ...
WHERE [Start_Date] <= '2022-01-01'
and [End_Date] > '2022-01-01'
というように2つの日付項目で同じ日付を使って比較しておりますが、この日付を自動的に更新して実行したいと思っております。
(例)ワークフロー実行日の月の第一日を自動的にセットする
このため、日付をコントロールパラメータで渡すバッチマクロを作り、
マクロの外で計算した日付をコントロールパラメータでマクロに渡し、
その日付でデータ入力ツール内部のSQLを更新するようにワークフローを組みました。
アクションツールの設定で
とし、置換する文字列を
のように設定した場合、
SQL文の中の二つの"2022-01-01"の文字列が二つとも更新される事を確認したいと思っておりますが
マクロの実行途中の設定情報が見えないのと、データベースのデータを操作することができないため
思うように確認が取れません。
アクションツールの仕様として、
確認することはできるでしょうか。
解決済! 解決策の投稿を見る。
結論として、アクションツールは全ての該当文字列を更新します。
簡単な確認用ワークフローを作ってみました。
「更新テスト。[テスト]文字列を更新します。[テスト]が更新されるかどうかを見てみましょう。」
という文字列に対して、[テスト]を更新するワークフローです。
このマクロを使うワークフローを作ってみました。
これにより、[テスト]をA、Bで更新するイメージになります。
結果は以下のとおりです。
ツールの動きを確認する場合は、簡単に確認できるワークフローを作ってみるのがポイントです。
ところで、もう一つ気になることが個人的にあったので検証してみました。
今回のケースは、すでにワークフロー構築の際に存在する値を書き換えているわけですが、データとして来ているものはどうなるのか?
例えば、フォーミュラツールで[Field1]+1 という数式のうち「1」を書き換えて2とか3とか他の数値に更新したいとします。
[Field1]の値自体が1だった場合はどうなるか・・・? 結論としては、フィールドの値自体は書き換えない、ということになります。
入力データ:
アクションツール設定:
結果:
詳細な検証ありがとうございます。たいへんよくわかりました。