Sisenseナレッジ - INSIGHT LAB

【Sisense Connector】Sisenseにインターネット上のCSVを自動取り込み-1

作成者: Turtle|2020年10月16日

シャローム!Sato-Gです。
6月2日に新型コロナの東京アラートが発動されて、僕のマンションから見える東京都庁のライトアップは赤になってしまった。

今回の東京アラートの発動はどうやら「夜の街」のせいということになっているようだ。
「夜の街」か...
類義語を調べると
歓楽街 ・ 盛り場 ・ ネオン街 ・ 繁華街 ・ ナイトスポット
「夜の街」という表現を使ったのは小池知事だったかな。
それ以来、ニュース・新聞報道でも「夜の街」という表現を使うようになった。
でも何か「夜の街」っていうと「しっぽり飲む」って感じがしない?
そう思うのは僕だけですか?
そういうニュアンスを含めて小池知事がこの言葉を使ったとすれば、かなりブンガク的だと思う。

実際、歌舞伎町のホストクラブでシャンパンの回しをした人たちのクラスター感染があるみたいだけどね。そういう人たちのせいで東京都全体がこうなっちゃうのはとても悲しい。

では本当に夜の街でそんなにも感染が起きているのか、夜の街の感染者はいつから増えだしたのか
興味あるよね。
では実データを使って実証していこう。

1.Google Sheetsのデータを取り込んでダッシュボードを作成してみる

前回はでSIGNATEさんで公開しているのGoogle SheetsからCOVID-19の感染者データを取り込んでみた。
これで毎日データが自動更新されるから最新の状況がわかるぞって思ったんだけど、実際表示してみるとこんな感じになった。

全然追いつけていない。ここ数日の数値は実態からはかけ離れたものだ。
SIGNATEさんのデータはかなりタイムラグがあるということがわかった。まあ、SIGNATEさんのデータはデータ分析を行うためのデータであり、分析に使える項目は多いから仕方ないよね。詳細な項目の値が確定しないと使えないから。

2. COVID-19関連のデータ

現段階でわかっている限り、よく利用されるデータはこの2つのようだ。

■ 東洋経済オンライン|新型コロナウイルス国内感染の状況
東洋経済オンライン編集部の荻原 和樹さんがかなり初期の段階から提供しているデータで
東洋経済オンライン 新型コロナウイルス国内感染の状況はCharts.jsを用いてとてもわかりやすいサイトになっている。この元データはGitHubで公開されている。

■ ジャッグジャパン|都道府県別新型コロナウイルス感染者数マップ
ジャッグジャパンさんが公開しているサイトはArcGISを使用したポイントマップで感染者の地域分析ができる。こちらもかなり前からデータが公開されていて、DOMOが提供しているCOVID-19のダッシュボードもここのデータを活用している。データ形式はCSVなので扱いやすい。

上記の2つのうち、僕はジャッグジャパンさんのデータを使うことにした。東洋経済さんのデータはGitHubで公開されていて、明細データはJSON形式のため、自動化するのがやや面倒なのに対し、ジャッグジャパンさんのデータはURLを指定してCSV形式で容易にダウンロードが行えるからだ。

3.インターネット上のCSVデータ取り込みの方法

ではさっそく、データを取り込んでいこう。
インターネット上のCSVファイルをURLで指定して自動でダウンロードするために次の3つのアプローチを行ってみる。

▼ジャッグジャパンさんのCOVID-19データ
https://dl.dropboxusercontent.com/s/6mztoeb6xf78g5w/COVID-19.csv

SisenseのCSVコネクタで、パスの代わりにURLを指定して取り込む
WindowsのBitsadminコマンドでバッチ化する
CDataのCSVコネクタを使用する

3.1 SisenseのCSVコネクタで取り込む

ElastiCubeに取り込むデータの選択でCSVを選択する。

今回はファイルアップロードを行わず、Webサイトの決まった場所から取り込みたいので「Input Server Path」を選択する。

[次へ]をクリックして進もうとしたらアラートが出た。

実はここまでは読みどおり...
こんなことでできるわけないよなーとは思ってた。

3.2 WindowsのBitsadminコマンドでダウンロードする

次なる手はWindowsのBitsadminコマンドで、指定したローカルフォルダにダウンロードするという方法。
さっそくやってみよう。

Bitsadminコマンドでは以下のように指定する。

bitsadmin /transfer download <URL> <保存先ファイル名>

コマンドプロンプトで以下のように指定して実行する。

URL: https://dl.dropboxusercontent.com/s/6mztoeb6xf78g5w/COVID-19.csv
保存先ファイル名: c:\data\covid_19.csv

bitsadmin /transfer download https://dl.dropboxusercontent.com/s/6mztoeb6xf78g5w/COVID-19.csv c:\data\covid_19.csv

実行すると進捗が表示された後、無事ダウンロードが完了した。


何度か実行してみたが、ファイルは上書きしてくれるので、常に最新のファイルが所定のパスで格納されることがわかった。
これをバッチ化して、Windowsのタスクスケジューラーで決まった時刻に実行すればいい。
あとはCSVデータなのでなんとでも!

4. まとめ

Web上のCSVファイルをダウンロードしてElastiCubeにデータを取り込む方法として、WindowsコマンドのBitsadminを使う方法を解説した。
PSM.exeを使ってビルド自体もバッチ化してもいいかもしれない。
(参考:【Sisense PSM】AWSのS3連携~ビルドまでCLIで一括自動処理

これはSisense KnowledgeじゃなくてWindows Knowledgeだね。
でも、実は上で参考として紹介したAWSのS3連携の記事はこのブログのTOP5に入る人気記事らしい。
うーん、レベル低っ
情けない
Sisenseの記事だけで上位を占めるようにしないと。

そういう意味では次回はCDataのCSVコネクタを使用してデータを取り込んでみるので、正真正銘のSisense Knowledgeだ。
あ、CData Knowledgeと言わないでね^^;

ではまた!