技術は私たちの力。技術は私たちの楽しみ。 Creative Developer BLOG 技術部ブログ
Technology is our strength. Technology is what we enjoy.

サスケの新機能を考えよう! マルチディメンション・データをインフォグラフィックスで表示

2018-04-27 勉強会
マルチディメンションデータとインフォグラフィックス
こんにちは、デザイン部の島田と、システム部のジュエル(インド人)です。
今回のテーマは「進化」です。
そこで、荒削りデザイナー島田とデータ分析の匠ジュエルがタッグを組んで、サスケの新機能「マルチディメンション・データのインフォグラフィックス表示機能(仮)」を制作しました!

本文はかなり横文字&英語が出てきて、ジュエルの代わりに日本語で執筆した私にはとっても難しかったです。なるべく用語を略称のみでなくフルでも書き記し、各種用語についての解説も書き加えています。

どうぞよろしくお願いいたします。

要旨

本ブログでは、2つの方法を中心に説明します。
・DW(データウェアハウス)ツールとデータアナリティクスツールを使用して情報を分析する方法
・インフォグラムサービスを使用して、インフォグラフィックスを作成する方法

企業には、顧客データや在庫データ、売上データ、店舗データなどなど、様々なデータがあちこちに散らばっています。そのデータの海から、関連のあるデータを見つけることはとても困難です。

しかし、BI(ビジネスインテリジェンス)ツール、ビッグデータ分析、データマイニングなどを駆使することで、効率よくデータを収集して確認することができます。
そして、そのデータをインフォグラフィックスを使用して、視覚的に表現し、よりわかりやすくします。

内容

私たちは、データ分析とインフォグラフィックスの様々なツールと方法論を理解するために、主に3つの領域をカバーする簡単なプロジェクトを実行しました。

・データ収集 DW Toolを使って情報を集まる。
・データ分析 データキューブを作成し、スライシングとダイシングのテクニックを実行します。
・インフォグラフィック 主にInfogram、JavascriptなどのWebテクノロジを使用してインフォグラフィックを作成します。

データ収集

データ収集は、時々手動で作業しながら、基本はDWツールを使用して行われました。 今回は、Talend Open Studioを使用しています。
https://www.talend.com/products/talend-open-studio/

データ分析

Microsoft SQL Analysis Service「SSAS(SQL Server Analysis Services)とSSDT(SQL Server Data Tools)」を使用してDataCube(データキューブ)を作成し、データを分析しました。
インフォグラフィックスのデータを作成するためには、PerlのDataCubeモジュールを使用しています。
(学習の目的で、 "AdventureWorks"データベースをデータキューブとデータ分析ツールに使用しました。)

▼各種用語について

DataCube
DataCubeは、ディメンション(集計対象)とメジャー(集計軸)からなる複数のディメンションを持つ値の多次元配列です。DatacubeとRDBMS(リレーショナルデータベースマネジメントシステム)を比較すると、RDBMSはデータが行と列として格納される2次元データ構造です。

多次元式 (MDX)
多次元式とは、データ・キューブを分析およびアクセスするための問合せ言語です。 これらのSQLは、従来のRDBMS SQLとは異なります。

例:
SQL query : SELECT column1, column2, ..., column FROM table
MDX query : SELECT [Measures] ON COLUMNS, [Dimensions] ON ROWS FROM cube


データベース「SQL SERVER」
AdventureWorks DWテーブルをインストールしました。
注:OLAPツールの効率的な作業のために、DWデータベースは必須です。


SQL Serverデータツール
SQLサーバーデータツールは、Microsoftが提供するOLAP(online analytical processing)ツールです。 このツールには、データキューブを作成するためのすべての機能があり、データのスライスとダイシングを行います。 エクセル、Webサーバ、Python、Rなどの他のプログラミング言語との統合など、他の機能もあります。

Perl DataCube
Perl DataCubeはCPAN(Comprehensive Perl Archive Network)で利用可能です。 データマイニング、OLAPキューブ、データウェアハウスの機能を備えています。

インフォグラフィックス

インフォグラフィックスとは、情報やデータ、知識を視覚的に「表現」したもの(手法)です。
数分、数秒のレシピ動画やメイク動画が流行っているように、、視覚的に情報を提供するのが今の主流なのでしょう。
「文章にしたら長いけど、動画にしたら簡潔になる」という動画の利点に、相通ずるものがある気がします。

しかし、インフォグラフィックスを作るには、デザインセンスと技術が必要なのでは?
そんなあなたに朗報!世の中には便利なアプリがたくさんあります!その中でも、インフォグラフィックス初心者の私が使いやすいと感じた「infogr.am(インフォグラム)」をご紹介します。

プロジェクト解説

サンプルデータの作成から、インフォグラフィックス作成までを解説します。

データサンプルの作成

多次元データの概念とOLAPを理解し、SQL AnalysisサービスとAdventureWorksデータベースを使用して、サンプルケース用データを作成しました。

サンプルケース:各国の製品の販売実績を確認したいbyセールスマネージャー
同社の販売は異なる国々にまたがっており、全ての情報を効率よく手に入れ把握し、戦略を立てたい。別の国のセールスマネージャーもまた、販売実績を見たいと思っています。 同様に、複数のセールス・マネージャーまたは複数の従業員が同時に売上のパフォーマンスを見たいが、それぞれが異なる要件を持つことがあります。

データキューブを作成する。

DataCubeにアクセスし、情報をスライスしてダイスします。

Excelを使用してAnalysis Servicesに接続し、ピボットグラフを作成します。

生成される情報は本質的に動的であるため、SSASを使用することで、SSDTの異なる管理者はレポートのパフォーマンスを確認して分析することができます。

データサンプルからインフォグラフィックスを作成

英語のオンラインツールですが、大丈夫。使ってみれば簡単でした。
・無料プラン「Basic」があります。
・有料プラン「Pro」「Business」「Team」「Enterprise(要問合)」があります。
・お支払いは$(年額と月額を選べます)

料金プランはこちら:https://infogram.com/pricing

今回私は無料の「Basicプラン」を利用しましたので、本ブログでは無料でどこまでできるのか・できないのかをまとめようと思います。

無料プラン「Basic」でできること

嬉しい嬉しい無料プランでできることとは?

5プロジェクト(各3ページずつ)作成できる、テンプレートも割と豊富

(プロジェクトの種類ごとに5種類くらいずつ

オンライン上で共有可能

つくったインフォグラフィックはオンライン上で共有可能、簡単なアナリティクスもついています。

豊富なグラフやマップ、画像。データのインポートや動画の埋込も可。

グラフチャート37種類、画像は10個までアップロードして使用できます。データインポート(Excel、CSV、JSON、DropBox、OneDrive、GoogleDrive、GoogleAnalytics)可能

その場でデータ編集も可能

取り込んだデータはinfogram上で編集可能

無料プラン「Basic」でできなくて残念だったこと

・画像(JPEG、PNG)で書き出せない!
・PDFで書き出せない!
・Teamを作成して共同作業できない
・privacy設定(非公開設定)ができない
・日本地図が有料

画像やPDFで書き出すことができないのが一番痛いですよね。
無料でできるのは、オンライン上での共有のみですので、紙の資料にインフォグラフィックスを使いたいときは使いづらいと思いました(スクショ撮るしかない)。

また、オンライン上に共有したグラフは、infogr.amで編集すると即時反映されます。すなわち、infogr.amから削除してしまったら永久にサラバなので気を付けましょう。

Infogr.am REST APIというサービスもあるため、きっと何か開発もできるのでしょう。(すみません、今回はこれに挑戦していません;;)

プロジェクトを経てサスケ(demo)に実装

上記のOLAPとDatacubeの概念を使用し、SAASKEのデータを使用してSAASKEのインフォグラフィックを作成します。

サンプルDWを作成します。ここでは、Excelでデータを作成しました

異なる次元に基づいてデータを生成するPerlプログラム。 この場合、ディメンションは業種と場所です。

データテーブルはdataTable.jsを使用して作りました。
https://datatables.net/

Infogramを使用してSAASKEでダッシュボードとインタラクティブなチャートを作成する。

プロジェクトを終えて

正直なところ、英語苦手デザイナーと日本語苦手ジュエルさんで何ができるんだろうか、と不安だらけのスタートでした。

結果として、プロジェクトを形にできたことがとても嬉しく、また、言語の壁はそう厚いものではないと思いました。パッションでどうにかなるもんですわ。
ミーティング風景

記事一覧へ