Inputツールの中身をActionツールで書き換えたいのですが、なぜかうまくいきません。
Actionツールの設定は、
・Select an action type:Update Value with Formula
Formulaの計算式は
if [#1]=="TRUE" then
[Destination]=DateTimeNow()
else
[Destination]
endif
([#1]はチェックボックスです。)
と設定しています。
チェックボックスのチェックオン時にファイルの中身を今日の日付で上書きするというものになります。
なにか指定の仕方が間違っているのでしょうか?
指定項目を変更したり、変更の数式を変えたりいろいろ試してみましたが、
ファイルの書き換えが行われないため、誰かお知恵を拝借できないでしょうか。
解決済! 解決策の投稿を見る。
ファイル名を日付で置き換える際に、[Destination]=DateTimeNow()とそのまま代入しているため、
"C:\alteryx\file.csv"のようなファイル名全体が置き換わっていることが原因かと思われます。
以下のようにファイル名中の
としてみてください。
if
[#1]
then
replace([Destination], "<チェックが無いときのファイル名>", DateTimeFormat(DateTimeNow(), "%Y%m%d"))
else
[Destination]
endif
ozawaさん
返信ありがとうございます。
こちらで投稿した画像を確認したところ、変更先がファイルパスになっていますが誤りです。
ファイル名を変更したいのではなく、ファイルの中身を変更したい。が正しいです。
実際のファイルの中身は、以下のような内容になっております。
-------------------------------------
load_time_UTC_xxxxxxx
2020/03/23 1:39:53.04
-------------------------------------
2段目の2020/03/23 1:39:53.04を実行したタイミングの日時で上書きしたいのです。
誤解のある投稿で申し訳ありませんでした。
単なるテキストファイルの中身を書き換えたい、ということであれば
一度Alteryx内に読み込む必要があります。
強制的に読み込む方法は、以下のように区切り文字を「\0」としてください。
あとは、WFを書いて日時の行を差し替えて上書きすれば良いと思います。
同じファイルへの読み込みと書き込みは同時にできないので、
データ出力ツールの前に「完了までブロック」ツールを挟み込んでください。
出力も同じように、区切り記号を「\0」にするのと、
先頭行を出力しないようにするくらいでしょうか。
Mizunoさん
返信ありがとうございます。
まさにこれがやりたかったことです!
本当に助かりました。
今まで使ったことがないツールもあり、
非常に勉強になりました。