Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

アクションツールで「値を更新」する回数について

Yoshiro_Fujimori
オーロラ

データ入力ツールで外部のデータベースをSQLで抽出する際に、SQL内のWHERE文で

SELECT ...

FROM   ...
WHERE [Start_Date] <= '2022-01-01'
  and [End_Date] > '2022-01-01'

というように2つの日付項目で同じ日付を使って比較しておりますが、この日付を自動的に更新して実行したいと思っております。

(例)ワークフロー実行日の月の第一日を自動的にセットする

 

このため、日付をコントロールパラメータで渡すバッチマクロを作り、

マクロの外で計算した日付をコントロールパラメータでマクロに渡し、

その日付でデータ入力ツール内部のSQLを更新するようにワークフローを組みました。

Yoshiro_Fujimori_0-1666337216351.png

アクションツールの設定で

Yoshiro_Fujimori_1-1666337415695.png

とし、置換する文字列を

Yoshiro_Fujimori_3-1666337452974.png

のように設定した場合、

SQL文の中の二つの"2022-01-01"の文字列が二つとも更新される事を確認したいと思っておりますが

マクロの実行途中の設定情報が見えないのと、データベースのデータを操作することができないため

思うように確認が取れません。

 

アクションツールの仕様として、

  • 文字列の置換が1回だけなのか
  • 見つかったパターンは全て置換するのか

確認することはできるでしょうか。

2件の返信2
AkimasaKajitani
17 - Castor
17 - Castor

@Yoshiro_Fujimori さん

 

結論として、アクションツールは全ての該当文字列を更新します。

 

簡単な確認用ワークフローを作ってみました。

 

「更新テスト。[テスト]文字列を更新します。[テスト]が更新されるかどうかを見てみましょう。」

という文字列に対して、[テスト]を更新するワークフローです。

 

AkimasaKajitani_0-1666399395591.png

 

このマクロを使うワークフローを作ってみました。

 

AkimasaKajitani_1-1666399530632.png

これにより、[テスト]をA、Bで更新するイメージになります。

 

結果は以下のとおりです。

 

AkimasaKajitani_2-1666399594937.png

 

ツールの動きを確認する場合は、簡単に確認できるワークフローを作ってみるのがポイントです。

 

 

ところで、もう一つ気になることが個人的にあったので検証してみました。

今回のケースは、すでにワークフロー構築の際に存在する値を書き換えているわけですが、データとして来ているものはどうなるのか?

例えば、フォーミュラツールで[Field1]+1 という数式のうち「1」を書き換えて2とか3とか他の数値に更新したいとします。

[Field1]の値自体が1だった場合はどうなるか・・・? 結論としては、フィールドの値自体は書き換えない、ということになります。

 

入力データ:

AkimasaKajitani_4-1666400137066.png

アクションツール設定:

AkimasaKajitani_5-1666400165965.png

結果:

 

AkimasaKajitani_3-1666400115786.png

 

 

Yoshiro_Fujimori
オーロラ

@AkimasaKajitani さん

詳細な検証ありがとうございます。たいへんよくわかりました。