QlikのREST ConnectorでWeb上のCSVファイルから直接取り込んでみる

こんにちは!
このところ、オリンピック観戦で寝不足が続いているYokoです。
Webサイト上で公開されているファイルからデータを取り込みたい時、皆さんはどうしていますか?
ダウンロードして共有ストレージに入れておく…という方が多いですよね。
今回はWebサイト上のCSVファイルを、ダウンロードの手間なく、Qlik Cloudに直接取り込む方法をご紹介します。

目次

昔はできていたのに…

QlikViewやQlik Sense DesktopではWeb上のファイルを直接取り込むことができました。
Qlik Cloudのコネクタ設定で探しても、どこにもない😥
えっ?ないの?なんで?
必要なことなるよね…

こうなったらRESTコネクタで取っちゃいましょう!
というのが今回の企画です。
では、早速やってみよう。

ファイルのURLを取得する

まずは、ダウンロードしたいファイルのURLを取得しておく必要があります。
今回ダウンロードするのはGeoloniaさんが公開している住所データベースです。
Geoloniaさんの住所データには全国の町丁目、大字〜緯度・経度までが含まれています。このデータがすごいところは国土交通省の大字・町丁目レベル位置参照情報は年1回の更新であるのに対し、こちらは月1回の更新なのだそうで、それを無料公開してるって太っ腹ですよね。

GeoloniaさんのWebサイトを開き、CSVダウンロードのリンクを右クリックし、「リンクのアドレスをコピー」を選択して、文字列をコピペしておきます。
これで準備完了です。

Qlik CloudのRESTコネクタの設定

Qlikの新しい接続を構成していきます。
コネクタは「REST」を選択します。

RESTの設定ではRequestのURLに先程コピペしたURLを貼り付けます。

設定はデフォルトのままスクロールしていくと、Request/response body encodingの設定が出てきます。
ここでドロップダウンしてみると、UTF-8, ISO-8859-1, Windows-1251しか出てきません。
ん?
Shift-JISはないの?
通常、Shift-JISはcodepage 932ですよねえ…

はい、結論から言うとShift-JISはないんです😢
実は、GeoloniaさんのCSVファイルはUTF-8なので、問題はありません!
「UTF-8のデータを選んだんだろ」って言われそうですが、そのとおり!
今回はUTF-8のデータを選びましたっ😅

というわけで、UTF-8のまま、「接続をテスト」ボタンを押下すると、あっさりつながりました。

データの取得

接続ができたので、「データを選択」ボタンをクリックして、取り込むデータの設定を行います。
Response typeのドロップダウンを見ると、CSV, JSON, XMLに対応しているようです。
ここでは以下のように設定して、スクリプトを挿入します。

設定項目設定
CSV has headerON
Tables > CSV sourceON

ロードスクリプトが下記のように自動生成されます。

データのロード

「データをロード」をクリックし、取り込んでみます。
以下のように、データを正しくロードできましたね。

しかし、これで全面解決ではない

今回は、文字コードUTF-8のデータを取り込みました。
しかし、日本国内のWebサイトで公開でれているCSVファイルはShift-JISが一般的です。
Shift-JISのCSVデータを取り込むと、当然、文字化けを起こしてしまいます。
RESTコネクタのRequest/response body encodingの設定を変更してやってみましたが、やはり文字化けを起こしてしまいました。

じゃあ、どうするの?
エディタを使って変換するとか、nkfを使って変換するとか…
自動更新しようとしているのに、それでは全く意味ないよね。

英語圏なら何ら問題ないんですけどね…
まあ、文字化けするのは日本語だけなので、気象庁から過去の気象データを取り込むとか、為替や金利のデータを取り込むというのなら数値は文字化けとは無関係なので、割り切って使うという手もありますが…
あれこれ試そうとは思いましたが、これにあまり時間を掛けてもと思いますので、UTF-8のファイルに限っては、こうの方法は有効ということでお願いします🙇‍♂️

まとめ

RESTコネクタを使って、Webサイト上のCSVファイルからQlikへ直接データをロードする方法をご紹介しました。
Shift-JISのデータには使えそうにありませんが、Shift-JISデータを含め、自動化する手段がない訳ではありません。
その方法は次回の記事に譲りたいと思います。

ではまた!

関連記事はこちら
Qlik AutomateでWeb上のファイルを自動ダウンロードする

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次