その他

【obsidian】dataviewのtable利用時に対象ファイルに記載しているプロパティの生年月日から年齢を計算する方法

この記事は約2分で読めます。

こんにちは、宮﨑です。

以前の記事にも書いたように、私の趣味はプロ野球の観戦です。

そして、私のobsidianには日ハムの全選手のファイル(育成含む)があります。

そこでふと思いました……選手一覧テーブルを作って背番号とか年齢とかポジションとか確認できるようにしたいなと。

やりたいこと

  • 選手一覧テーブルの作成
  • 欲しいカラムは背番号・ポジション・年齢

作ってみました

こんな感じになりました。

背番号・ポジション・年齢などの取得のために選手ファイルにはプロパティを設定しています。

こちらのプロパティを参照してテーブルに表示されるようになっています。

コードはこんな感じ

```dataview
TABLE uniform_number AS "番号",
	  positions AS "ポジション",
      round((date(today) - date_of_birth).years - 0.5) AS "年齢"
From "09_DB/日ハム"
```

タイトルにも記載している部分にようやく辿り着きました。

年齢の計算は今回一番苦戦したポイントです。
四捨五入等のメソッドがなかなか見つからないのでかなり強引な方法を使っています。

データの中身は選手のリンクが全て入っているフォルダ”09_DB/日ハム”を参照しています。

作成にあたってかなり公式ドキュメントと睨めっこしました。
公式ドキュメントがやはり一番強い
https://blacksmithgu.github.io/obsidian-dataview/

作ってみた感想


難易度的にはそこまで難しいところではないのですが、dataviewの年齢計算に関する記事が本当に見つからなかったので今回記事化してみました。

年齢計算に苦戦している誰かの助けになれば幸いです。