いや、もうボクの作業フォルダはyxwzとps1と出力ファイルでゴチャゴチャなんですけど…
ということで、R Toolを使ってAlteryx内でDynamicにフォルダ作成する方法を紹介します。
Alteryxワークフロー
フォルダ指定とディレクトリツール
フォルダ指定のダイアログを出して、結果をディレクトリツールに渡し、フォルダ内の*.csvファイルを開きますBlock Untilツール
Rでフォルダを作るのを先に完了させるため、実行順を強制的にしていします。Alteryxは並列処理するので、場合によっては「フォルダが無いよ!」エラーが出てしまうので。フォルダ作成、フィールド付加 Append Field
Rツールでフォルダを作成し(コードは後述)、そのフォルダ名をFieldとして付加、それと元のファイル名で保存パスを作成します。最後のOutputでは、ファイル名をダミーにしておいて、
フルパスを変更 Change FullPath を選ぶことで、保存フォルダとファイル名を自由に設定できます。元のファイル名を使ったり、日付を入れたり、Excelファイルの場合はファイル名+「|||シート名」でシート名を指定したり。
Rコード
df<-read.Alteryx("#1", mode="data.frame") mkdir<-paste(df[1,1], "output", sep="") dir.create(mkdir) names(mkdir)<-c("outputFolder") write.Alteryx(mkdir, 1)
df[1,1]は1行目1列目のデータ、この場合はグループ化した選択フォルダとなります。作りたいフォルダとして、今回はそのフォルダに"output"を付加しました。Rの文字列結合はpasteを使いますが、sep=""を指定しないとスペースが入るので注意します。
dir.create()でフォルダを作成します。元々存在する場合は警告がでるかも。
names()<-c("itemname")で項目名を指定します。指定しないと、長々とした自動項目名となり、テーブルによって変わってしまうので不便です。これをwrite.Alteryxで出力し、前述したOutput Fileのパスとして利用します。
まとめ
ここまでくるとハッと思いつきますね、「これならRで全部やればいいんじゃない?」その通りだと思います。ちなみに、Alteryxはcommand実行ライセンスが別売りなので、自動実行したい時は別料金。
高額なライセンス料と見合う売り上げが見込めないなら、R勉強した方がいいんじゃない?コミュニティも英語ばかりだし、コードや英語にアレルギーがある人には無理なツールです。導入は慎重に!
0 件のコメント:
コメントを投稿