SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Tableau】エクセル風の並列棒グラフの再現(代案)を検討する

どこでも見れるメモ代わりに記事化。


データソースは「サンプル - スーパーストア.xls」を使用する。

どんなのか

以下のようなもの。エクセルだと簡単に作成できる並列棒グラフの一つだと思う。

f:id:wantanBlog:20211026173906p:plain

結論を先に言っておくと完全に再現するようなものは今のところできていない

Tableau導入の先駆けとして、エクセルで作成しているグラフ等をTableauで再現するようなこともあるかもしれないが、あまりそのまま形に拘りすぎない方がいいのかもしれない。
エクセルでのグラフ作成に慣れ過ぎているとどうしてもエクセルの再現に固執してしまうような気もするが(私もそう)、ビジュアライズに特化しているTableauが提案する表現方法が視覚的に劣っているということはあまりないと思う。

並列棒グラフを作成する

まずはTableauでのスタンダード。

列に「月(オーダー日)」。
行に「合計(売上)」と「合計(利益)」を入れたところからスタート。

f:id:wantanBlog:20211026174852p:plain

表示形式から「並列棒グラフ」を選択する。
これだけで表示情報としては一応エクセルと同様のものが出力されている。

f:id:wantanBlog:20211026174923p:plain

もう少しエクセルに近づけてみる。
下部の利益・売上ヘッダ部を右クリックして「ヘッダーの表示」を押してヘッダーを非表示にする。

グラフ上を右クリックして「書式設定」、ペイン上の枠線を選択する。
f:id:wantanBlog:20211026181038p:plain

枠線の設定から「列の境界線」をなくせば、グラフ上の縦線が消えてエクセルに近づく。
だけど、見た目としては正直微妙な気がする。

f:id:wantanBlog:20211026181314p:plain

Bar in Barで表現する

同じく列に「月(オーダー日)」。
行に「合計(売上)」と「合計(利益)」を入れたところからスタート。

こちらも一般的な表現方法になると思う。

ペイン上の「合計(利益)」を右クリックして「二重軸」を選択。
二つの要素を比較するのであれば、右側の軸ヘッダを右クリックして「軸の同期」を選択。
今回の場合、売上に対して利益はかなり小さいためそのままでいいが、棒のサイズを調整して見た目を整える。

f:id:wantanBlog:20211026182036p:plain

リファレンスラインで表現する

棒状のグラフ比較であればリファレンスラインを使用することで棒グラフの代用みたいなことをできる。
「Bar in Bar」と比較すると軸を使用しないので、さらにそこから別軸の要素を折れ線などで追加することもできる。

列に「月(オーダー日)」。
行に「合計(売上)」を入れた状態で、マークの詳細に「合計(利益)」を入れる。

f:id:wantanBlog:20211026182315p:plain

アナリティクスを選択して、「カスタム」の「リファレンス ライン」を対象のグラフへドロップする。

f:id:wantanBlog:20211026182621p:plain

ドロップすると以下のようなポップアップが表示される。
今回は「合計(売上)」の「セル」形式でのリファレンスラインを選択する。
よく分からなくて適当に設定してしまっても後から設定できるので続行してOK。

f:id:wantanBlog:20211026182833p:plain

例えば以下のように設定する。

f:id:wantanBlog:20211026183222p:plain

【形式】

【範囲】
セルごと
【線】
・値:合計(利益) 合計
・ラベル:値
【書式設定】
・線:なんか薄めの色
・上を塗りつぶし:なし
・下を塗りつぶし:なんか薄めの色

値の部分には「詳細」にセットしたものを指定することができる。

以下のような見た目になる。後は好みの見た目になるように調整する。

f:id:wantanBlog:20211026183624p:plain


ちなみに私がハマったところとして単位をセルで設定しているのに以下のようにデータ全体でのリファレンスが引かれてしまった事象がある。

f:id:wantanBlog:20211026183944p:plain

列に日付型などを設定すると起きるようで、列に設定した「月(オーダー日)」を右クリックして、「不連続」を選択すると解消した。
初心者だとひたすら変なところでハマる。