Tableau:表計算関数・フィルターを使わない同月比較

# Tableau:表計算関数を使わない同月比較

Tableauの自己学習を行い、自分の振り返りをかねて拙い文ではありますがまとめました。


前回表計算関数であるLOOKUPを使用し、前年同月の比較を行うやり方を書きました。
（↓以下該当サイト）

https://qiita.com/taka___/items/119ef3fa811780cf21b9

今回は、同様な形で上記表計算関数を使わない同月比較のやり方を説明していきたいと思います。

__使用環境__
・Tableau Public（無料）

__使用データ__
・サンプル　　- スーパーストア

今回も使用環境の準備、サンプルデータの準備の方法に関しては省略します。


## LOOKUP以外で前年同月の売上データを持ってくる方法

LOOKUP以外で前年同月を持ってくるには、

__・日付関数__

__・IF文__

を使用します。

### 日付関数とは

日付関数で、データソース内で日付を操作できる関数であり、新しい日付値を作成などを行うことが可能である。

※Tableauヘルプ
https://help.tableau.com/current/pro/desktop/ja-jp/functions_functions_date.htm

### IF文とは

論理関数であるIF文を使用して、特定の条件がtrueかfalse を判断する 。

※Tableauヘルプ
https://help.tableau.com/current/pro/desktop/ja-jp/functions_functions_logical.htm

これら２つを組み合わせて一年前の同月を比較することが可能である。

## 実行環境

__目標：売上データを年毎にグラフで時系列比較する__

今回使用する項目としては、
・オーダー日
・売上

表形式で表示すると、今回のデータは下記画像のようになっている。
![スクリーンショット 2022-03-31 14.08.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/140818fc-dee9-5e13-34ba-3ff3a8e71ec6.png)


これらを
2018年、2019年、2020年、2021年で表ではなく、折れ線グラフで表示する。

##### 1,各年の売上データをIF文、日付関数を使用し各年の売上データを作成する

**手順１:**
・計算フィールドの作成をサイドバー部分（データが並んでいるところ）の一番上左の▼で計算フィールドの作成。
もしくは、ツールバーの分析→計算フィールドの作成でも可能です。

![スクリーンショット 2022-03-31 14.31.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/ea82ddf8-4fa3-b3de-8714-c8203b0898d5.png)

**手順2:**
・下記画像のように記入

![スクリーンショット 2022-09-09 13.30.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/b0bde679-ea10-a465-22df-e3f8bbdd0cb8.png)

式の解説すると、
オーダー日で日付関数であるYEAR関数（年だけを抽出する関数）が2018と一致したら売上を返す

という式になります。

そうすることで、オーダー日が2018年の売上だけを抽出することができます。

これらを、2019年〜2021年と同じように繰り返し行います。


**手順3:**
・作成した年ごとの売上を行列に連続でドラッグ。列の方に月（オーダー日）
を並べる。

![スクリーンショット 2022-09-09 13.51.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/4c36052f-8559-d55f-e4d2-faee8e7dbdf8.png)


そして、2019年売上のところで左クリックをし、二重軸をクリックする。

![スクリーンショット 2022-09-09 13.52.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/84becff9-eeca-60cb-2d57-aa237b6dc3c8.png)


そうすると、下記画像のようになり、2018年、2019年売上を並べて比較することができる。

![スクリーンショット 2022-09-09 13.53.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/6fb77715-2214-40c2-94cc-c5df437a4d32.png)

ただ、よく見てみると、

2018年売上の単位が◯◯K
2019年売上の単位が◯◯M

となっていることがわかる。

これだと、正しい比較ができないので合わせたい方に左クリックを行い軸の同期を行う。

![スクリーンショット 2022-09-09 13.57.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/335329e8-d95a-a602-d603-e8fec28ac135.png)

こうすることで、同じ桁で月単位での売上比較をすることができる。


**余談**
今回は、２つの年で同月での比較をしてましたが、２つ以上で時系列で比較したいケースも考えられます。その場合、下記画像のようにすることでも実施可能です。

![スクリーンショット 2022-09-09 14.05.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591484/14f773ff-a581-000c-dfd7-c1adaa24a0c1.png)

## 終わりに
今回、フィルターを使用せず、前年同月の売上データを比較するやり方を紹介しました。

なぜ、フィルターを使用しなかったのかというと、意図した値ではないものが表示されてしまうケースがあるからです。

実際にダッシュボードを作成する際に、フィルターを使用する機会が多くあると思います。そのフィルターにも、

・抽出フィルター
・データソースフィルター
・コンテキストフィルター
・表計算フィルター
・メジャーフィルター
などなどこの他にも様々なフィルターが存在します。

これらを適切に使用することで、処理速後の向上につながり、ダッシュボードがスムーズに表示されます。ですが、正しく理解していないとフィルターの適用される順序が違うので意図したデータと違う数字が表示されてしまうケースが考えられます。

ですので、今回はフィルターを使わないやり方を説明させていただきました。

ゆくゆくは、上記フィルターを正しく理解し、使いこなせるよう勉強を進めていきたいと思います。

拙い文ではありましたが、最後まで読んでくださりありがとうございました。