【Tableauの基本】初心者向け_テーマ3：表計算(1/2)

# 1 表計算とは

「表計算」は、「作成したVizに対し、現在表示されている内容に基づいて計算し、もうひと手間加え別の値の見方をするような計算。」

・値をランキングに変換する
・値を変換して累計を表示する
・値を変換して合計に対する割合を表示する


簡易表計算は、表計算関数を自分で書かなくともTableauのGUIで操作できる表計算。

## 2.簡易表計算のタイプ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/065de34e-cf54-21ab-ba1e-f4e49397dc2c.png)


①：累計　★
②：差　★
③：差の割合　★
④：合計に対する割合　★
⑤：ランク　★
⑥：百分位
⑦：移動平均　★★
⑧：年間累計　
⑨：複合成長率
⑩：前年比成長率　★
⑪：年間累計の成長率

## 3.簡易表計算のカスタム
### ①方向の指定のと区分の指定（次を使用して計算）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/1de1210d-44b2-6008-85b3-ae312b81f574.png)

・表 (横)
・表 (下)
・表 (横から下へ)
・表 (下から横へ)
・ペイン（下）
・ペイン（横から下へ）
・ペイン (下から横へ)
・セル
・特定のディメンション

※表計算の向きを変えても、計算式は変わらない。



### ②基準

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/54820763-6fc5-24c9-31f4-e8a6556b6a16.png)

前へ：パーティション内で、現在の値と以前の値の差を計算します。これは既定の値です。
次へ：パーティション内で、現在の値と次の値の差を計算します。
最初：パーティション内で、現在の値と最初の値の差を計算します。
最後：パーティション内で、現在の値と最後の値の差を計算します。


※以下のように特定のディメンションを選択した場合？（そのほかもあるかもしれませんが）
特定の2013年、2014年などが選択できる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/6d836089-73f2-ebec-b1cc-594b8f37623a.png)




## 4.簡易表計算のタイプごとの設定内容＋実際の関数

### ■概要
以下の@zaki_001さんのブログが非常にまとまっておりました。ありがとうございます！

https://qiita.com/zaki_001/items/0df60fc8429f04743979

### ■詳細
上記のブログで関数をまとめていただいていたものに加えて、
Tableau公式HPの情報をもとに、何を変更できるかなどをまとめました。


#### ①：累計　★
・表計算関数（例）：RUNNING_SUM(SUM([利益]))

※累計は必ずしも合計にする必要はない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/991d6ea7-6bff-bca9-bf59-2cfad9fe30ae.png)

※セカンダリ計算の追加が可能。
→差や、差の割合などをとることができる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/f0cfb287-699e-7c31-2d54-55eae40904cd.png)

※再開間隔が選べる
・なし
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/b6cbd0c8-6df6-0397-47e3-f46aff0c17b9.png)

・オーダー日の年
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/044097fa-1a8c-69ad-ed9b-4d174833a94f.png)



#### ②：差　★
・表計算関数（例）：
前の値：ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), -1)
次の値：ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), 1)
最初の値：ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), FIRST())
最後の値：ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), LAST())


#### ③：差の割合　★
・表計算関数（例）：
前の値：
(ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), -1)) / ABS(LOOKUP(ZN(SUM([利益])), -1))
次の値：
(ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), 1)) / ABS(LOOKUP(ZN(SUM([利益])), 1))
最初の値：
(ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), FIRST())) / ABS(LOOKUP(ZN(SUM([利益])), FIRST()))
最後の値：
(ZN(SUM([利益])) - LOOKUP(ZN(SUM([利益])), LAST())) / ABS(LOOKUP(ZN(SUM([利益])), LAST()))

#### ④：合計に対する割合　★
・表計算関数（例）：SUM([利益]) / TOTAL(SUM([利益]))


#### ⑤：ランク　★
・表計算関数（例）：RANK(SUM([利益]))
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/3792d061-1199-0f1e-954d-f86e75f06936.png)

※競合 (1, 2, 2, 4)：RANK
※変更された競合 (1, 3, 3, 4)：RANK_MODIFIED
※密度 (1, 2, 2, 3):RANK_DENSE
※固有 (1, 2, 3, 4)	：RANK_UNIQUE

#### ⑥：百分位
・表計算関数（例）：RANK_PERCENTILE(SUM([利益]))


#### ⑦：移動平均　★★
・表計算関数（例）：WINDOW_AVG(SUM([利益]), -2, 0)
・以下の通りいくつ前から平均をとるか決定可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618835/8762be67-a18f-0d3c-5864-de198022a813.png)




#### ⑧：年間累計　
・表計算関数（例）：RUNNING_SUM(SUM([利益]))



#### ⑨：複合成長率
・表計算関数（例）：
前の値：
POWER(ZN(SUM([利益]))/LOOKUP(ZN(SUM([利益])), -1),ZN(1/(INDEX()-1))) - 1
次の値：
POWER(ZN(SUM([利益]))/LOOKUP(ZN(SUM([利益])), 1),ZN(1/(INDEX()-1))) - 1
最初の値：
POWER(ZN(SUM([利益]))/LOOKUP(ZN(SUM([利益])), FIRST()),ZN(1/(INDEX()-1))) - 1
最後の値：
POWER(ZN(SUM([利益]))/LOOKUP(ZN(SUM([利益])), LAST()),ZN(1/(INDEX()-1))) - 1




# 参照させていただいたサイト

Satoshi Ganekoさん

https://note.com/ritz_tableau/n/n8dff528f8e2d

https://note.com/ritz_tableau/n/nf8f4b782a239

https://note.com/ritz_tableau/n/nc434040ef69f

https://note.com/ritz_tableau/n/nf4fa3b684b16

https://note.com/ritz_tableau/n/na8e0fb8fc2e2

Tableau公式HP

https://help.tableau.com/current/pro/desktop/ja-jp/calculations_tablecalculations.htm

https://help.tableau.com/current/pro/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm

クラスメソッドさん

https://dev.classmethod.jp/articles/tableau_function_table1/


zakiさん★

https://qiita.com/zaki_001/items/0df60fc8429f04743979

https://qiita.com/zaki_001/items/b783a044c1fc1681db98


arakawaさん

https://www.yarakawa.com/single-post/tableau_tablecalculations