いや、もうボクの作業フォルダはyxwzとps1と出力ファイルでゴチャゴチャなんですけど…
ということで、R Toolを使ってAlteryx内でDynamicにフォルダ作成する方法を紹介します。
Alteryxワークフロー
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgek5n9f7ZZxj1Kp5Xdi4tn4U6toigvu6DESJTLCjlJgnmy9AN1rzMSovcffQjnP3xhZALDbC_sKnY-cqyWj_nxD5CLe2C4ugrk_x9UyIHOpT1fltK15ALIvlVVSKHSzMlD0YTBIS4B/s320/%25E3%2582%25B3%25E3%2583%25A1%25E3%2583%25B3%25E3%2583%2588+2019-12-15+183900.png)
フォルダ指定とディレクトリツール
フォルダ指定のダイアログを出して、結果をディレクトリツールに渡し、フォルダ内の*.csvファイルを開きますBlock Untilツール
Rでフォルダを作るのを先に完了させるため、実行順を強制的にしていします。Alteryxは並列処理するので、場合によっては「フォルダが無いよ!」エラーが出てしまうので。フォルダ作成、フィールド付加 Append Field
Rツールでフォルダを作成し(コードは後述)、そのフォルダ名をFieldとして付加、それと元のファイル名で保存パスを作成します。最後のOutputでは、ファイル名をダミーにしておいて、
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1H9RiyHGIpdb_xTRrs136ydP0ZXcMJ-8w1bo21SjHNAFwe4jX6UKYqKb_qgxNVWFGWRcSBhyMD-RpKe9fcuvjVJlwUpyqOpGBuHZt6lJxxdG1nNROd0amDVRkMxwHivG49wcf1MTj/s320/a.png)
フルパスを変更 Change FullPath を選ぶことで、保存フォルダとファイル名を自由に設定できます。元のファイル名を使ったり、日付を入れたり、Excelファイルの場合はファイル名+「|||シート名」でシート名を指定したり。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtCsavNVXbwwBpHiAIQ0obNd-owPTvPMhH9jp4ow-yESFvbLstilYCoR8cEbuoCOaVHiUyMKwQeSL2cDCTAG35FKAyZcc6XQtmhLMt2dyhsABqZrVfbYutkzdDCSy-axXft4_uq6H5/s320/b.png)
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 件のコメント:
コメントを投稿