スモールマルチプルと呼ばれるVizの表現方法があります。一つの画面に複数のグラフ表現を盛り込み、一覧性を高めたものです。小さなグラフ(スモール)が複数(マルチプル)並ぶので「スモールマルチプル」と呼ばれます。
以下の画面は、代表的なスモールマルチプルです。
Tableau Desktopに付属する、サンプルスーパーストアのデータセットを使って、売上と利益の相関を、出荷モードとカテゴリのマトリックスで見せてくれています。
上記のスモールマルチプルは特別なテクニックを使わなくとも誰でも描画できます。
一方、このブログで紹介するスモールマルチプルは、計算フィールドを利用して、以下のような、チャートを描くものです。2017年の日別の最高気温を日別にプロットしたものですが、11の都市が3×4のパネルに整然と並んでいます。美しいですね。
では、作成方法を見てゆきましょう。
Tableauのパネルチャート作成でまず行うこと
パネルをはめ込むプレースホルダーを、以下の計算フィールドで作成します。
Column Divider
Column Dividerは、size(←特定のディメンションのユニークな値を持つレコード数)の平方根でindex(1から順番に1ずつ増えてゆく表計算関数。実際には-1をして、0から始めています)を除した「余り」を返しています。上記のVizでは、「測定値」のユニークな行数(計測値の数)が11なので、index()-1(つまり最初の値は0、次は1、次は2、、、最後は10)をルート11(つまり3.32。それをintで囲って3を取り出す)を除していますので、余りは、0か1か、2の3種類になります。(0/3 =0余り0、1/3=0余り1、2/3=0余り2、と余りが、0, 1, 2となり、index()-1が3となると、3/3=1余り0とまた0に戻ります。)
Row Divider
Row Dividerは、sizeの平方根をroundしたもので、index()-1を除した答えをintで切り捨てています。index()-1が0のときは0、index()-1が1のときは1÷3 = 0.33を切り捨てるので0、、、結果、index()-1が0から3までは0、4から5までは1、6から8は2、9から11は3を返します。
Column DividerとRow Dividerとも、「次を使用して計算」を「計測値」とすることで、列方向に3列、行方向に4列のプレースホルダーが出来上がります。
以下に計算フィールドに利用するためのコピペ用のテキストを残します。
Column Divider
(index()-1)%(round(sqrt(size())))
Row Divider
int( (index()-1)/(round(sqrt(size()))))
Tableauのパネルチャート、残りの操作
残りの操作については、Viz作成の根幹ではない装飾部分ですし、文章よりも動画の方が説明がわかりやすいと思われますので、動画で説明します。
このパネルチャートの作成方法は、Zen MasterのAndy Kriebelのこちらの記事をリバースエンジニアリングして理解し、日本語にして記述したものです。
http://www.vizwiz.com/2016/03/tableau-tip-tuesday-how-to-create-small.html
Andy、2年も前に、こんな動画を公開してくれていたんですね。いつもありがとう。
まとめ
このパネルチャートのように、Tableauがデフォルトでは用意していないViz表現も覚えてみると、データビジュアライズの持ち技が増えるかと思います。
プリンシプルでは、Google アナリティクスのカスタマイズ、Tableauによるデータの可視化をサービスとして提供しています。ご興味を持たれた方はinfo@principle-c.comからお気軽にお問い合わせください。