Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
wangwei
Contributor II
Contributor II

ワイルドカードがAmozon S3とDropBoxの環境で使えない

このように「倉庫別在庫_2019??.xlsx」/「倉庫別在庫_2019*.xlsx」設定して、下記の環境でファイルを連続読み込みつもりですが、

(Amozon S3+Qlik Sense Business、DropBox+Qlik Sense Business出来なかった。desktop版の場合、全く問題ありません)。

ーーーーーーーーーーーーーーーーーーー

倉庫別在庫_201909.xlsx

倉庫別在庫_201910.xlsx

倉庫別在庫_201911.xlsx

倉庫別在庫_201912.xlsx

下記のようにエラーメッセージが出ました。

以下のエラーが発生しました:

Cannot open file: 'lib://Amazon_S3/在庫分析/倉庫別在庫_2019??.xlsx' (Connector error: File not found)

ーーーーーーーーーーーー

よく調べるとワイルドカードがS3上で使えない記事が出ました。

もしワイルドカードがほんとに使えない場合、他のファイルを連続読み込み方法がありますか。

教えていただければと思います。

4 Replies
hka
Employee
Employee

S3のファイルリストを取得してcsvなどに格納できるのあれば下記のスクリプトで対応できます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

FileList:
LOAD
 List
FROM [lib://Amazon_S3/在庫分析/FileList.csv]
(txt, utf8, embedded labels, delimiter is '\t', msq);

LET NoRow = NoOfRows('FileList') - 1 ;

for i = 0 to $(NoRow)

LET vFile = peek('List',$(i),'FileList');

LOAD

 :

 :

FROM [lib://Amazon_S3/在庫分析/$(vFile)]
(ooxml, embedded labels, table is sheet1);


next i;

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

S3のファイルリスト取得の方法はネット検索するといくつか出てきます。

wangwei
Contributor II
Contributor II
Author

FileList.csvの生成方法を教えていただければと思います。

事前にこのリストを作成ではなく、loadのとき自動生成する方法が欲しい

hka
Employee
Employee

S3は専門でないので回答は難しいですが、下記リンクのようにPythonなどを使用してCSVに出力できるようです。

https://qiita.com/koji4104/items/15ac578e561f53a0dadc

あとはバッチ処理をスケジューリングできればファイル生成は可能だと思います。

この部分はネットで”S3 バッチ処理”などで検索すれば何かしらの方法は出てくるかと。

Sato-G
Contributor
Contributor

QlikのConnectorに"Amazon S3  Metadata", "Dropbox Metadata"はありませんか?
私の環境ではMetadata Connectorがありますので、これを使用してListObjectsのKeyを取得しました。このKeyはディレクトリとファイル名で構成されていますので、これを元にFileListテーブルを作成すれば、Hikaさんの方法で実現できると思います。