Tableauのダッシュボードでのグラフ配置は、なかなか思った通りのレイアウトにならなくて難しいです。
原因は、オブジェクトをマウスでドロップや移動しても、意図した階層に入ってくれないのと、 1つのオブジェクトのサイズや位置を変更すると、他のオブジェクトが意図しないサイズや位置になってしまうためです。
なので、レイアウトに凝るのは諦めて、グリッド配置にしてしまえば、サクッとできて、かつ、それなりに見栄えのいいダッシュボードが作れるんじゃないかと調べていたら、 まさに求めていた、Tableauでのグリッド配置のやり方の記事がありました!感謝!
実際にやってみると、ハマったポイントがあって、ここではその対処方法を記載しました。
上記記事を前提とした内容なので、まずはそちらを読んでからの方が分かりやすいかと思います。
グリッド配置の簡単な説明
「水平方向」と「垂直方向」を使って表を組み、設定を「コンテンツの均等配置」にすることにより、グリッド配置を表現するんですね。
例えば、2x2のグリッドの場合、階層構造は下記のようになります。
「水平方向」と「垂直方向」の設定を「コンテンツの均等配置」にすると、グリッド配置になります。「水平方向」と「垂直方向」を入れ替えても構いません。
なるほど~!直感的で分かりやすいです!
問題点
原理はシンプルなので、すぐにできそうに見えるのですが、実はこの階層構造にするのがメチャメチャ難しいんです…。
下図のように、何度やっても「そうじゃないんだ!!」になってしまいます…。
原因および解決方法
うまく行かない理由は、最上位の入れ物(上記図だと「水平方向」)に、オブジェクトやシートをドロップしても、その入れ物の中には入ってくれず、同じ階層に置かれてしまうためです。
入れ物と全体枠が同じサイズのため、ドロップ時に入れ物ではなく、全体枠の方に入ってしまいます。
そこで、最上位の入れ物を一旦「浮動」にして全体枠と重ならないようにすると、うまく入れ物にドロップできるようになります。
そして、再度最上位の入れ物の「浮動」を解除すると、入れ物が全体にハマりうまくいきます。
例えば、前述の2x2グリッドは下記のように作成できます。
「浮動」をレイアウトとしてではなく、作業領域への退避機能として使うところがポイントですね。
補足説明
オブジェクトが意図した位置にドロップできなかった時は、一旦「浮動」にして階層から外し、再度ドロップしてやりなおすとうまくいきます。
「浮動」にしたオブジェクトがつかみにくい時は、[浮動順]-[最全面へ移動]
とすると解決します。
「配置オブジェクトから浮動オブジェクトへ切り離し」と、その逆の「浮動オブジェクトから配置オブジェクトへドロップ」は、試行錯誤過程で頻繁に行うので、 「Shiftキーを押しながらオブジェクトをマウスでドラッグ」のショートカットを使うと便利です。
一旦全体枠(タイル)は無視して、「浮動」にした「垂直方向」または「水平方向」をベースキャンバスに見立てて、作業を行うようなイメージです。
そして一連の作業が終わったら、ベースの「浮動」を解除して、タイルにフィットさせて完成させます。
感想など
今まで困った時は最終手段として、グラフを「浮動」にして、位置とサイズを直接指定して配置していたのですが、これで随分作業がはかどりそうです。
下記のようなレイアウトも、構造を意識しながら丁寧にやれば、簡単・確実に作ることができます。
ツリーの任意の位置にオブジェクトをドロップするのは結構難しいのですが、「浮動にしてドロップ」は、グリッドレイアウトに限らず使えるテクニックですね。
階層ツリーを、マウスのドラッグ&ドロップで直接移動できたら、劇的に使いやすくなるんですけどねぇ。