プリザンターの一覧画面で動的に年齢を算出したい

# 検討内容
プリザンターの一覧列に仮想的な列を表示させて計算結果を出力するような処理ができないか検討してみる。

## やりたい事の例
生年月日を登録すると、年齢が自動的に算出されるような感じのもの。

| ID | 生年月日     | 年齢 |
|----|--------------|------|
| 1  | 2000年1月1日 | 24歳（コレを出力したい！） |

## 実装方法
[テーブルの管理：計算式（拡張）](https://pleasanter.org/manual/table-management-formula-extended)でやりたい事が書かれてあった。年齢を求める内容からして、ドキュメント通りに進めていけば達成できるのだが、今回は関数で何をやっているのかも含めて確認する。

[計算式（拡張）の関数一覧](https://pleasanter.org/manual/formula-function-list)

### 今回使う関数
* [$DATEDIF](https://pleasanter.org/manual/formula-function-datedif)
  * 2つの日付の間の日数、月数、または年数を計算します。
* [$NOW](https://pleasanter.org/manual/formula-function-now)
  * 現在の日時を取得します。

実装イメージはこんな感じ。
```
$DATEDIF(生年月日,$NOW(),'Y')
```

# テーブルの作成

新規作成から
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/dcaff082-0b28-8f7b-bf35-1efeb88ba580.png)

記録テーブルを選択し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/daa5cc8c-d2b3-7a22-58b3-876ac19956ea.png)

作成ボタンで
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/8a1e2d40-872a-9a20-49c2-3ec0750c66dc.png)

名前を付ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/fb19659d-2c30-ae8e-e528-8f84183e3e16.png)

完成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/db1787c4-a81d-2f21-6635-fd9dc2833966.png)

管理からテーブルの管理を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/9e6a6069-198d-b7b1-b06a-f5621d954b11.png)

一覧からID以外を無効化し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/a4d6b59a-0f01-b77c-37dc-d74b60df4792.png)

日付A、説明Aを追加する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/c4467833-cbae-d27c-743b-f81060d56fab.png)

日付Aは表示名を生年月日に修正し、一覧の書式を年月日に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/d5dc152d-97aa-5bdd-51b0-79436a0a8801.png)

説明Aは表示名を年齢に修正
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/4a49a9c3-00a1-b4c2-4a6d-10904fa73e14.png)

こんな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/9557cf6a-aee3-593f-2a6f-8e1cce8574fc.png)

エディタも同様に変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/1e8d3aaa-3158-92c3-4f11-ea0d07c394ee.png)

日付Aの表示名を生年月日に変更し、規定値を0にして変更
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/978f3f28-ceaf-09b3-fdce-81e23e84b51b.png)

## 計算式の追加

計算式タブから新規作成を選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/dd67e105-328d-6e3d-d516-48066aeacc63.png)

* 計算方法：拡張
* 対象：数値A
* 計算式を追加

```
$DATEDIF(生年月日,$NOW(),'Y')
```

変更で計算式が追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/5fab1ea2-bdbf-0e60-6f2f-6e47860a23db.png)

追加後に、同期というボタンがあるので、こちらをクリックする事で計算されるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/69f80055-a4d2-694c-c1a4-8f863655151a.png)

最後に更新ボタンを押して完成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/36463f6f-b3c0-8d63-cff8-73ea14a6f3dd.png)

# データの登録

新規作成ボタンで1件データを登録してみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/86e62641-098c-4528-2d0e-84ef83763e9e.png)

一覧で見ると年齢が算出されている（感動）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/1d05c6c7-9b42-f237-9d0f-e38b07513189.png)