XXのものだけをフィルタリングするには?: Notion Formula 解説 (28)

はじめに

Notion Formula の第28回目は、「XXのものだけをフィルタリングするには」を解説します。基本は「XXの時に true を返す関数」を作成すればいいことになります。逆引きでは非常にたくさん紹介しているので、それぞれの違いを解説します。

今月のものだけをフィルタリングするには?

今月のものだけをフィルタリングするのは、Formula を作ることなく Linked Database の機能で実施可能です。ただ、この結果をフィルタリング以外にも使うことがあるので、ここで解説します。同じ月かどうかを判定するには、年と月だけで生成される文字列が一緒かどうかを確認すればいいことになります。

/* 日付プロパティの月文字列と今日のの月文字列を比較 */
prop("日付").formatDate("YYYY-MM") == today().formatDate("YYYY-MM")

来月のものだけをフィルタリングするには?

来月のものだけをフィルタリングするためには、今日の一月後の日付を作成し、その後に月文字列を比較すればいいことになります。dateSubtract を使えば逆に先月のものだけをフィルタすることもできます。

/* 日付プロパティの月文字列と今日の一月後の月文字列を比較 */
prop("日付").formatDate("YYYY-MM") == today().dateAdd(1, "months").formatDate("YYYY-MM")

今週のものだけをフィルタリングするには?(日曜始まり)

今週のものだけをフィルタリングするためには、週番号を比較することになります。こちらは日曜始まりの週番号を示す ww を用いています。

/* 日付プロパティの週番号文字列と現在時刻の週番号文字列を比較 */
prop("日付").formatDate("YYYY-ww") == today().formatDate("YYYY-ww")

今週のものだけをフィルタリングするには?(月曜始まり)

今週のものだけをフィルタリングするためには、週番号を比較することになります。こちらは月曜始まりの ISO 週番号を示す WW を用いています。

/* 日付プロパティの週番号文字列と現在時刻の週番号文字列を比較 */
prop("日付").formatDate("YYYY-ww") == today().formatDate("YYYY-ww")

先週のものだけをフィルタリングするには?(日曜始まり)

先週のものだけをフィルタリングするためには、今日の日付を1週間前にずらした上で、週番号を比較することになります。こちらは日曜始まりの週番号を示す ww を用いています。逆に来週のものだけをフィルタリングするには、dateSubtract を dateAdd にすればいいです。

/* 日付プロパティの週番号文字列と現在時刻の7日前の週番号文字列を比較 */
prop("日付").formatDate("YYYY-ww") == now().dateSubtract(7, "days").formatDate("YYYY-ww")

先週のものだけをフィルタリングするには?(月曜始まり)

今週のものだけをフィルタリングするためには、今日の日付を1週間前にずらした上で、週番号を比較することになります。こちらは月曜始まりの ISO 週番号を示す WW を用いています。こちらも逆に来週のものだけをフィルタリングするには、dateSubtract を dateAdd にすればいいです。

/* 日付プロパティの週番号文字列と現在時刻の7日前の週番号文字列を比較 */
prop("日付").formatDate("YYYY-WW") == now().dateSubtract(7, "days").formatDate("YYYY-WW")

今クオータのものだけをフィルタリングするには?

現在のクオータのものだけをフィルタリングするためには、クオータ文字列を比較することになります。

/* 日付プロパティのクオータ文字列と現在時刻のクオータ文字列を比較 */
prop("日付").formatDate("YYYY-Q") == now().formatDate("YYYY-Q")

おわりに

今回は、「XXのものだけをフィルタリングするには?」を解説しました。基本的には formatDate で作成される日付文字列を比較することで実現できます。