Open2

Notionのデータベース関数Tips

Nakano as a ServiceNakano as a Service

Notionのデータベース関数でゼロ埋めするいちばん簡単なやり方

例: 3桁のゼロ埋め

"0".repeat(3 - prop("数値").length()) + prop("数値")
Nakano as a ServiceNakano as a Service

日時から会計年度と第何クォーターの第何周を計算
弊社は会計年度と会計年度の開始月における実際の年yがずれているので、y + 1することで解決している。
xは決算年度の開始月。

lets(
	x, 10,
	m, prop("作成日時").month(),
	y, m < x ? prop("作成日時").year() - 1 : prop("作成日時").year(),
	q, ceil((m - x + 1 + (m < x ? 12 : 0)) / 3),
	startDate, parseDate(y + "-01-01").dateAdd(x - 1, "months"),
	qStartDate, dateAdd(startDate, (q - 1) * 3, "months"),	
	w, dateBetween(prop("作成日時"), qStartDate, "weeks") + 1,
	[
	  "FY" + (y + 1 - 2000),
	  q + "Q",
	  w + "W"
	].join("-")
)

一応クォーターの計算式の解説

// - 10 (開始年)
// + 1
// + (m < 10 ? 12 : 0) (0以下は来年なので+12する)
//  / 3 (切り上げの割り算)
1 -> -9 -> -8 -> 4 -> 2
2 -> -8 -> -7 -> 5 -> 2
3 -> -7 -> -6 -> 6 -> 2
4 -> -6 -> -5 -> 7 -> 3
5 -> -5 -> -4 -> 8 -> 3
6 -> -4 -> -3 -> 9 -> 3
7 -> -3 -> -2 -> 10 -> 4
8 -> -2 -> -1 -> 11 -> 4
9 -> -1 -> 0 -> 12 -> 4
10 -> 0 -> 1 -> 1 -> 1
11 -> 1 -> 2 -> 2 -> 1
12 -> 2 -> 3 -> 3 -> 1