自力でどこまでできるのかWebデータを利用してチャレンジ

セミナーに参加しただけの初心者が1人でどこまでBIツール「QlikView」を使えるものだろうか? 自力で何かやってみたいが、残念ながら全国展開している店舗の売上データなどは持っていない。クリックテックの講師に相談したところ、QlikViewではWeb上のデータを簡単に取り込めると教えてもらった。

政府や各種機関が公開しているCSVなどの統計データはもちろん、HTML上のテーブルからもデータを取得可能だ。しかも、取り込む方法は簡単で、データソースとしてURLを入力するだけだ。この機能を利用して、空間放射線量率データというWebサイトで公開されている「福島原発および全国各都道府県での空間放射線量率データ」を取り込んでみることにした。

新規ファイルを作成し、まずは空のままで名前をつけて保存してからロードスクリプトの編集画面を開く。この辺りはセミナーと同じ流れであり、配布された資料もあるからわかりやすい。ファイルデータを「Webページ」にし、各都道府県の総合データである「http://static.void.in/rad/mext.tsv」を入力すると自動的に内容を読み込んでくれたが、日本語部分が文字化けしていた。これは「文字セット」を変更すれば解決する。動きが軽快だから、手探りであちこちいじってみてもストレスがない。

ロードスクリプト編集画面でURLを指定すると自動的にデータが取得される

データの文字化けは「文字セット」の変更で簡単に解決

読み込んだデータにわかりやすい項目名をつけるには、スクリプト内にちょっとした変換令を書く。これもセミナーでもやったことだから簡単だ。ここまで作業をしてからリロードしてデータを更新し、メイン画面のプロパティで3つの項目を読み込んでみる。

各データ欄の名前を変更するには「[元名] as [新名]」とロードスクリプトの編集画面で書き込む

元画面に戻ってデータをリロードしたら、右クリックメニューの「プロパティ」を呼び出し、読み込み項目を指定する

測定場所を選択すれば測定値が表示されるという連携だけは確認できた

これだけでとりあえず、都道府県を選択すればそこのデータ一覧が表示されるようにはなるが、どうも計測日時が細かすぎて使いづらい。そこで、時間部分を切り捨てて日単位でまとまるようにした。さらに年、月、日という項目も作っておく。これで「日付」欄が表示できるようになり、日付と場所を選ぶとその日その場所の測定値が見えるようになった。

日付の書式を「date(DayStart([データ名],'YYYY/MM/DD')」で指定した後、日付、年、月、日の名前をつける

細かい日時ではなく、日付単位でのデータ処理ができるようになった

放射線量の推移と累計をグラフ化

ここまで来れば、次の課題はデータの見せ方、つまりグラフ作成だ。今回は、「特定場所での放射線量が日々どのように推移しているのか」と「今までどれだけの放射線量が累計で計測されているか」という2つのグラフを作ってみたい。

適当なところで右クリックして[シートオブジェクトの追加]-[チャート]を選択し、折れ線グラフを選択する。軸になるのは測定場所と日付だ。「日々数回計測される放射線量の平均を知ろう」ということで、数式では「集計関数」で「平均値」を選び、「項目」で「放射線量」を選ぶ。これで貼り付ければOKだ。この時点でも、そこそこ見られるグラフができる。

折れ線グラフを選択し、軸となる項目を指定。数式として放射線量の平均値を入力する

それらしいグラフができた

グラフをもっと見やすく整えるため、計測値が高い県を優先的に表示することにし、日付も縦向きに表示するようにプロパティを開き直して調整してみた。出来上がったグラフを見ると、福島の数値がずば抜けて高いことがよくわかる。日付を移動しながら見られるよう「プレゼンテーション」タブで「最大表示数」を60に設定し、「X-軸スクロールバーの表示」にもチェックを入れた。これで、約2ヵ月分の推移を一覧化した状態で日付をスクロールしながら見ることが可能な折れ線グラフが完成した。

測定場所のソートを、平均値の大きい順に並べる

軸の目盛線設定で「第1軸ラベル」を「|」にすると、縦向きに文字が並ぶ

平均放射線量の多い順に2ヶ月分ずつ表示するグラフができた

同じ要領で、東日本大震災が発生した3月11日から現在に至るまでの放射線量の累積を示すグラフも作ってみた。関数は合計を示す「Sum」になるが、手順的にはほぼ同じだ。

数式で「Sum(放射線量)」を指定し、「累積」で「すべて累積表示」にチェックを入れて累積グラフを作る

2つのグラフに加えて測定場所、年月日などの項目を読み込んで並べれば、ちょっとしたアプリケーションの完成だ。日々リロードすると、最新の放射線量のデータが自動取得される。都道府県を選択したグラフが見づらければ、測定場所を地方ごとに分けたExcelデータを用意し、ロードスクリプト編集画面で読み込めばOK。いろいろと試行錯誤しながら好みの画面を追求できる。

必要な項目とグラフを画面内に並べれば、指定日時、場所の放射線量推移と累計が表示されるアプリケーションの完成だ

コミュニティの力を借りて地図上の散布図表示に挑戦

一応、「放射線量分析アプリケーション」ができたものの、見た目としては少々寂しい。できれば地図の上にバルーン表示で放射線量を表示したい。その場合に必要になるのは、地図と計測場所の緯度経度だろうが、これらをどこから入手できるのかがわからない。また、緯度経度を反映して地図上に重ねて表示するという方法も不明だ。地図はGoogleMapが使えたら便利だろうと思いながらいろいろ検索してみたが、やり方がわからなかった。

そこで、できたばかりのクリックテックの日本語コミュニティに頼ってみることにした。セミナーに1度参加した程度のスキルではムリな作業かもしれないとは思ったが、測定場所の緯度経度を入力したExcelデータと、ロードスクリプト編集画面に貼り付ける内容のテキストデータをもらうことができた。さらに、散布図作成時に必要となる数式もコピー&ペーストすれば済むものをもらい、作り方も教えてもらえた。

このやり取りはコミュニティに残っているから、もし同じアプリケーションを作ってみたいと思った時は参考にしてほしい。

もらったデータを貼り付けただけではあるが、放射線量の累計値を地図上にバルーン表示も完成した。地図はGoogleMapからリアルタイムに取得しているため、拡大・縮小もできる。

GoogleMapを利用した散布図表示も実現でき、見栄えもよくなった

さすがに地図を取得して利用するところはカンで動いてみるというわけにはいかなかったが、グラフ作成は試行錯誤するうちに好みの状態に調整できた。今回の作業で最大のポインだったのは、やり直しが苦にならない軽快さだ。「動かなくなってしまった」、「途中でわからなくなってしまった」という時は気軽にやり直せるし、「この設定は何だろう?」という時も適当な数値を入れることができる。QlikViewならBIに明るくない人も手元のデータを用いて簡単に分析が行えるはずだ。少しでも分析に興味があるようなら、QlikViewを試してみてはどうだろう?