Cast your vote for the official 2025 Inspire Pin! Designs were submitted by fellow Community members and reflect the creativity and passion of Alteryx users across the globe. Vote now!

ディスカッション

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

データ入力ツールを相対パスで設定している場合、ファイル参照ツールから絶対パスしてもエラーとなってしまう

Pochacco
メテオロイド

お世話になります。

表題の件、添付の画像のように、データ入力ツールで相対パスで設定していて、分析アプリとして実行する場合、ファイル参照ツールから絶対パスで指定しても、下記のエラーが表示されてしまいます。データ入力ツールを絶対パスで設定するとうまくいくのすが、ファイル参照ツールとデータ入力ツールをつなげて分析アプリで実行する場合は、相対パスにはしない方がよいのでしょうか。ご教示いただけますと幸いです。

 

DbFileInput (102): `FY2021$A:I` does not match a sheet or named range in ~パスは削除しました~ .xlsx or the Excel file is corrupt. 

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

@Pochacco さん

 

インターフェースのファイル参照ツールが返してくるファイルパスは基本的にフルパスとなります。

アクションツールでデータ入力ツールを書き換える時に、適切に書き換えができているかどうかがポイントとなります。

 

例えば、ファイル名部分のみ書き換えるのであれば、ファイル参照ツールからの入力もファイル名のみにするなど・・・。

 

フルパスの場合は、データ入力ツールのファイルパスをまるっと書き換えればいいので、設定上の工夫はほぼ必要ありません。

また、ファイル参照ツールの初期パスなど明示的に指定できないので、フルパスでやったほうが楽な気はします・・・。

 

Pochacco
メテオロイド

@AkimasaKajitani さん

 

ご回答ありがとうございます。

 

作業パスの全く異なる相手にWFを渡して使ってもらっているのですが、ファイル参照ツールでフルパス設定をしても、アクションツールで適切に書き換えができていないようです。。

 

Excelファイルを指定する設定なのですが、エラー内容を確認すると、Excelファイルのタブ名の書き換えができていないようで、インプットファイルに指定しているExcelファイルのタブ名を、WFで相対パス設定ししているタブ名に合わせて直接書き換えたら処理が回りました。

 

元のWFのデータ入力ツールの設定を相対パスではなくフルパスにしておけば、いったん回避できそう?なので、様子を見てみます。

AkimasaKajitani
17 - Castor
17 - Castor

@Pochacco さん

 

Excelの場合は、シート名をつけて書き換えてあげる必要があります。

例えば、c:\test\test.xlsxでシートがsheet1の場合、

 

c:\test\test.xlsx|||sheet1

 

といった形になります。

 

ちょっとサンプル作ってみました。

 

Clipboard03.png

 

アクションツール側がポイントです。

 

Clipboard02.png

"./input/"+FileGetFileName([#1])+FileGetExt([#1])

 

ご確認ください

Pochacco
メテオロイド

@AkimasaKajitani さん

ご回答ありがとうございます!

Excelの場合はアクションツールで、「フォーミュラで値を更新」の設定が必要なのですね。大変勉強になりました。

AkimasaKajitani
17 - Castor
17 - Castor

@Pochacco さん

 

今回、無理に合わせていってる感じではあるのですが、ファイル参照ツールはフルパス取れるので、データ入力ツール側はまるっと書き換えたほうが早い気はします。

(もっとも、指定したフォルダ以外のファイルは読めないので、そういう制限をかけたいのであれば今回のような手段は有効な手段かとは思います)

 

データ入力ツール側を相対パスにしなければならない理由が何なのか?というところがポイントかと思います。

Pochacco
メテオロイド

@AkimasaKajitani さん

inputフォルダに制限する必要はなく、データ入力ツール側を相対パスにする必要もないので、アクションツールで下記の設定をしておけばエラーとならない、という理解でよろしいでしょうか。

 

FileGetFileName([#1])+FileGetExt([#1])

 

それとも、そもそも、データ入力ツール側をフルパスで設定しておけば、アクションツールは何も設定しなくてもよいのでしょうか。

お手数をおかけします。ご教示いただけますと幸いです。

AkimasaKajitani
17 - Castor
17 - Castor

@Pochacco さん

 

分析アプリで使う場合、データ入力ツールに設定されているファイルは、単にテストデータの扱いになるかと思います。

その場合、アクションツールでまるっと書き換えてしまうのであれば、データ入力ツール側はどんなパスであっても特に問題ありません。

ですので、アクションツールの設定を何にするかが重要なポイントとなります。

 

この場合、アクションツールの設定は「データ入力ツールを更新」にしてしまえば、まるっとデータ入力ツールのパスが書き換わるようになります。

※ファイル参照ツールの、「例」をご確認ください

 

Pochacco
メテオロイド

@AkimasaKajitani さん

 

アクションツールの設定を「値の更新」にしているたところからエラーが出たり出なかったりしていましたが、「データ入力ツールを更新」に変更してからエラーが出なくなりました。大変助かりました。ありがとうございました。

AkimasaKajitani
17 - Castor
17 - Castor

@Pochacco さん

 

取り急ぎ解決したようでなによりです。

 

「値の更新」は、データ入力ツール側の設定が変わるとアクションツール側も書き換えないといけないことが多いので、利用自体は手軽ですが、気をつけないと色々とミスが起こるのでご注意ください。

 

 

トップのソリューション投稿者