どこでも見れるメモ代わりに記事化。
データソースは「サンプル - スーパーストア.xls」を使用する。
列に「年(オーダー日)」、行に「合計(売上)」がセットされた状態からスタート。
基本的(?)なやり方
計算フィールドの作成を行う。
例えば以下のように入力する。
・タイトル
昨年売上(年)
・計算式
LOOKUP(ZN(SUM([売上])), -1)
作成した「昨年売上(年)」を行に追加する。
後は表現の仕方次第。
例えば二重軸にして、軸の同期、右側のヘッダ削除する。
ちょっと見栄えが悪いので、「昨年売上(年)」の方のサイズを少し小さくしてみたものは以下。
同じく、「昨年売上(年)」を行に追加した状態から、表示形式の「並列棒グラフ」を選択。
凡例の色や名前を調整したものは以下。
月単位や週単位の前年データを表示してみる
年単位ではなく、月単位や週単位でも同じようにしてみる。
同様に以下のような計算フィールドを作成する。
・タイトル
昨年売上(月)
・計算式
LOOKUP(ZN(SUM([売上])), -12)
ようは12個前のデータを参照するようにしている。
列のオーダー日を月単位にして以下のようなグラフができる。
やや無理やりな気もするが週の場合は一年間で7×52=364となるので、52個前のデータを表示するようにすれば概ね要件が満たせる。
・タイトル
昨年売上(週)
・計算式
LOOKUP(ZN(SUM([売上])), -52)
同様に見た目を調整し、以下のようなグラフが得られた。
今はあえてフィルタをかけていないので、そのまま出力するとものすごい横長になるため画像の左部分をトリミングしている。
やり方を忘れた
やり方というか計算式を忘れた場合、Tableau側で標準で用意している「前年比成長率」という簡易表計算からコピーしてくればよい。
まぁまた検索してもいいけど。
シェルフ上の項目をダブルクリックすると以下のように計算式が得られる。
(ZN(SUM([売上])) - LOOKUP(ZN(SUM([売上])), -1)) / ABS(LOOKUP(ZN(SUM([売上])), -1))