Tableau

Tableauで見たい期間のみの昨年対比推移グラフを作る方法

「ある数値の推移に加えて、昨年対比の推移も同時に表示したい」というのは、Tableauで良くある事です。

「昨年対比の推移のグラフも同時に」というのは、面倒そうに見えますがデータマートなり中間テーブルを作らずとも、少し工夫すれば作成が可能です。

今回はTableauのみで「見たい期間だけの昨対比推移グラフ」を作る方法をご紹介します。

完成形イメージ


昨年対比の推移を表現する時にぶつかる課題

「昨年対比の推移をグラフにしたい」とした時に、ぶつかる課題としては大きく以下の2点があるかと思います。

課題① 連続型の日付データだと、表計算「前年比」が使用できない

連続型の日付データを用いて、ある指標の推移グラフを作成する時は、表計算「前年比成長率」を使用できません。


以下の様に、日付を「不連続型」として扱えば「前年比成長率」は使用できます。


しかしあくまで「不連続型」として日付データを扱っているので、軸を2019/1/1,2019/1/2,・・・・・・・2020/1/1という形には出来ません。

課題② 表計算を使うと、フィルターで見たい期間を絞り込む事が出来ない

また、Tableauにおける表計算とは「シートで集計された後に計算する」関数です。

ですので「シートで集計する」前にデータを絞り込むフィルターで見たい期間のみにしてしまうとと、「前年比成長率」は表示されません。

「前年比成長率」の表計算をするにも、計算対象となる前年のデータがシート上に存在しないんですね。

“WINDOW_SUM関数”と”True/False”を組み合わせて「見たい期間だけの昨対比推移グラフ」を作る

以上を踏まえると「見たい期間だけの昨対比推移グラフ」を作る為には、以下の2点を満たす必要があります。

  • 日付は「連続型」として扱う
  • 見たい期間だけを見る時フィルターは使用しない

これらの条件を満たし、「見たい期間だけの昨対比推移グラフ」を作るやり方として私が思い付いたのは以下の通りです。

手順① WINDOW_SUM関数を使い、366個前の値を取得する

まず、丁度1年前の値を取得する為にWINDOW_SUM関数を作成します。

この関数は、

WINDOW_SUM(計算式, 開始, 終了) 

の形式で記述し、指定された範囲(開始、終了)にある値の計算値を返します。
そして「開始,終了」に入れる値としては

  • 0:現在の位置を返す
  • 1:現在の位置から1つ先
  • 1:現在の位置から1つ前

となります。ですので、

WINDOW_SUM(SUM(売上), -366, -366) 

とすれば、「現在の位置から-366前、つまり去年の同日の売上の値」を返すと指定できます。

WINDOW_SUM関数を使って計算フィールドにより、前年の値が今年の値と上手く同時に表示できました。


あとは、前年比を示す計算フィールドを以下の様に作成します。

今年の値/去年の値 

これで無事「昨年対比の推移」を作成できました。


手順② True/Falseと非表示を組み合わせてフィルター代わりにする

次に①で作成した「昨年対比の推移」を任意の期間だけを表示される様にします。
前述の通り、WINDOW_SUMは表計算であるのでフィルターを使うことが出来ません。

ここでは代替案として、以下を行う事で「データは絞り込まないが、見た目上は絞り込んでいる様に見える」という事が実現します。

  • 「True/False」で「任意の期間か否か」で区別する
  • Falseのデータを非表示にする

まず、「任意の期間かどうか」を判定する計算フィールドを作成します。

ここでは「2020/1/1から2020/12/31」を見たい期間とし「True」と判定、それ以外の期間は「False」と判定されます。

作成した計算フィールドを「属性」として「色」に配置すると、見たい期間と見ない期間に綺麗に区別できます。

次に「False=見ない期間」と判別されたものを「非表示」にします。

すると、見たい期間のみで「昨年対比の推移」を作成することが出来ました。

後は見た目を見やすく調整したら完成です。

まとめ

まとめると「見たい期間だけの昨対比推移グラフ」を作るには、

  • WINDOW_SUMで1年前の値を取ってくる
  • 任意の期間かどうかをTrue/Falseで判別する
  • Falseを非表示にする

の手順を踏むと実現可能です。是非使って見て下さい。

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Tableau

    Tableauのリレーションシップを理解して過剰結合を防ぐ

    リレーションシップとはTableau Desktop 2020.2の…

  2. Tableau

    Tableauで複数のチャートを1シート内で表示する『パネルチャート』の作り方

    今回は、複数の項目を一瞥するのに便利な『パネルチャート 』を取り上げ…

  3. Tableau

    Tableau : IF文の「集計」「非集計」の混在を解決

    こんにちは、エクスチュア渡部です。これから定期的にTableauやGo…

  4. Tableau

    Tableauの便利な機能

    こんにちは!インターン生の市川です。前回ではTableauの便利な機…

  5. Tableau

    【手順解説】MacでRedshiftに接続できない時の原因と対処法【Tableau経由】

    はじめに今回は、私(ヨナハ)が実際に業務でトラブったことをシェアした…

  6. Tableau

    【TC19ブログ】Tableau Conference 2019 2日目レポート

    こんにちは!エクスチュア大崎です。昨日11…

最近の記事

  1. Streamlit in SnowflakeによるStrea…
  2. Streamlitを使った簡単なデータアプリケーション作成ガ…
  3. 生成AI機能を活かしたデータカタログ製品「Secoda」を試…
  4. 回帰分析はかく語りき Part2 重回帰分析
  5. 第14回関西DB勉強会-Snowflake Summit参加…
  1. Firebase Analytics

    Firebase AnalyticsのデータをフラットなCSVに変換するETL処…
  2. ブログ

    秋とチラシとリードのスコアリング機能
  3. Snowflake

    SnowflakeのHybrid Tableのマニュアルを読み解く
  4. Adobe Analytics

    Adobe Analytics: DWHレポートをAWSのS3バケットに配信する…
  5. Adobe Analytics

    Adobe Analytics: SegmentsAPIを使って大量のセグメント…
PAGE TOP