数匏2.0 Notion数匏の改良点ず新機胜、および既存環境ぞの圱響

Notionの数匏を䜿甚したこずがある方は、「どこが倉わったのか」ず疑問に思うかもしれたせん。このガむドでは、新しくなったこずず、それにより数匏を䜿いこなすパワヌナヌザヌにどんな圱響があるのかを説明したす。

箄 8分で読めたす
数匏2.0 hero
数匏の゚ディタず蚀語が新しくなりたした。このガむドでは、倉曎点の詳现ず、珟圚利甚䞭の数匏ぞの圱響を解説したす。

数匏の゚クスペリ゚ンスが改善され、(1) 数匏の蚘述が容易になり、(2) 数匏のアりトプットに含められるプロパティの皮類が増え、(3) 数匏蚀語がより具䜓的なニヌズを満たすこずができるようになりたした。

今䜿っおいる数匏はどうなりたすか

このガむドでは、数匏の新機胜ず、それが珟圚䜿甚䞭の数匏にどのように圱響するかに぀いお説明したす。数匏を䜿うのが党くはじめおの方は、 デヌタベヌスの機胜を拡匵するNotion数匏の蚘述方法に関するビギナヌ向けガむドをご参照いただくのがおすすめです。

数匏2.0で新しくなった機胜は以䞋のずおりです。

  1. 数匏の䜜成・線集がより簡単に ゚ディタ内で数匏を耇数行で蚘述できるようになりたしたタブやコメントも䜿えたす。゚ラヌに぀いおも、より察応方法がわかりやすくなっおいたす。数匏を蚘述するず、耇数行の線集をサポヌトする拡匵された線集ボックスが衚瀺され、長い数匏を簡単に衚瀺、線集できたす。さらに、デヌタ型のチェックや゚ラヌを盎接線集ボックス内で匷調衚瀺するようになったため、構文を簡単に修正しお数匏が機胜するこずを確認できたす。

  2. リッチなアりトプットが可胜に 数匏のアりトプットは埓来、テキスト、数倀、チェックボックスブヌル倀のみをサポヌトしおいたした。今回のアップデヌトにより、新たにペヌゞ、日付、ナヌザヌ、リストの衚瀺もサポヌトされるようになりたした。

  3. より倚くの情報に盎接アクセス リレヌションで接続されたデヌタベヌスのプロパティや、メンバヌの名前にメヌルアドレスずいった情報にアクセスするなど、数匏がよりスマヌトになりたした。

新しい数匏蚀語

数匏を曎新しお、デヌタのアりトプットをリッチに

埓来の数匏では、さたざたなデヌタが文字列に倉換しお出力されおいたしたが、新しい数匏では、よりリッチなデヌタのアりトプットが可胜になっおいたす。

ナヌザヌが数匏のアりトプットに求める倖芳や動䜜に合わせお、アりトプットの互換性を維持するために、ロヌルアップ、ナヌザヌ、ファむル、およびマルチセレクトプロパティを䜿っおいる既存の数匏は、すべおテキストに倉換されたす。

たずえば、人の名前を文字列ずしお返す prop("ナヌザヌ") は、prop("ナヌザヌ").map(currentValue.format()).join(",") ず衚瀺されたす。これは数匏2.0では、prop("ナヌザヌ") がコンマで区切られた文字列ではなく、ナヌザヌのリストを返すようになったためです。この移行では、ナヌザヌのリストの各項目を文字列に倉換し、コンマで区切るこずで元のアりトプットコンマで区切られた文字列を保持したす。

リッチなデヌタ型のアりトプットを適甚するには、倉換された郚分を削陀する必芁がありたす。䞊蚘の䟋では、prop("ナヌザヌ") を盎接䜿甚するこずを意味したす。この堎合、アりトプットはプレヌンテキストではなくナヌザヌ型オブゞェクトのリストを返すようになりたす。

動的プロパティのメンション

プロパティからワヌクスペヌスレベルの情報を取埗

関数を蚭定するデヌタベヌスや、そこにリレヌションで接続されたデヌタベヌスに察しおタグ付けされた、ナヌザヌ名やメヌルアドレスなどのワヌクスペヌスレベルの情報を、独自のプロパティを䜜成しなくおも取埗できるようになりたした。

たずえば、「䜜成者」プロパティを䜿甚しおナヌザヌのフルネヌムやメヌルアドレスなどのデヌタを取埗し、「名前」を prop("䜜成者").name() 、たた「メヌルアドレス」を prop("䜜成者").email() のように参照できたす。

これにより、倧芏暡なデヌタベヌスのプロパティを合理化しながら必芁な情報が取埗でき、耇数の手順を螏たなくおもよくなりたす。

ドット衚蚘に察応

letで独自の倉数を䜜成

数匏でロヌカル倉数の䜜成がサポヌトされるようになりたした。埓来のJavaScriptず同様に、let は最初の匕数の名前ず2番目の匕数の倀を䜿甚しお倉数を䜜成したす。3番目の匕数は、新しく䜜成した倉数を䜿甚しお、数匏の残りの郚分を蚘述する堎所です。

たずえばいく぀かのプロパティの倀を加算した合蚈コストを参照する数匏を䜜成する堎合、䜜成䞭にプロパティを䜕床も加算するのを避けるこずができたす。

let(売䞊皎, (prop("小蚈") * 0.099), prop("小蚈") + 売䞊皎) のように倉数を䜜成するず、その埌 売䞊皎 ず入力するたびに、小蚈に皎率を掛けた定矩枈みの倀ずしお䜿甚できるようになりたす。

倉数はどういう堎合に䜿いたすか

letの操䜜の芁領がわかったら、letsを䜿っおさたざたな倉数の割り圓おを䞀床に行うこずもできたす

たずえば、2぀の倉数を lets(a, "Hello", b, "world", a + " " + b) のように組み合わせお䜿うこずが可胜です。

ロヌルアップを䜿わずにリレヌションで接続されたデヌタベヌスを参照

リレヌションで接続されたデヌタベヌスで必芁な情報を正確に取埗できるようになりたした。あらかじめそのプロパティを参照するためのロヌルアップを䜜成する必芁はもうありたせん。情報の衚瀺方法を線集・倉曎する機胜ず䜵せお䜿うず、通垞のロヌルアップよりもはるかに匷力です。

たずえばタスクデヌタベヌスに、プロゞェクトデヌタベヌスがリレヌションで接続されおいた堎合、完了したタスクの割合に基づいお、タスクが 「✅ 完了」、「⚠ 進行䞭」、「❌ 未着手」 のどのステヌタスであるかを瀺すこずができたす。

以前は、タスクの完了を瀺すロヌルアップを䜜成し、その情報に基づいお「✅ 完了」、「⚠ 進行䞭」、「❌ 未着手」 のいずれかを返す数匏を䜜成する必芁がありたした。

新しい数匏を䜿甚するず、これらのアクションを組み合わせお、「ロヌルアップ倀」を倉数ずしお定矩できたす。

  1. たず、 map()、filter()、length() 関数を䜿甚しお、完了したタスクの数を取埗したす。

prop("タスク").map(current.prop("ステヌタス")).filter(current== "完了").length()

2. 次に、 進捗率 ずいう倉数でロヌルアップ倀を定矩したす。これを行うには、完了したタスクの数をタスクの合蚈数で割り、100を掛ければ完成ですこれで、䜜成した倀を関数で䜿甚できたす。

let(
進捗率,
prop("タスク").map(current.prop("ステヌタス")).filter(current == "完了").length()
/ prop("タスク").map(current.prop("ステヌタス")).length() * 100),
/* ここに残りの数匏を蚘述したす */
)

この䟋に぀いおは、最終的な数匏は次のようになりたす。

let(進捗率, round(prop("タスク").map(current.prop("ステヌタス")).filter(current =="完了").length()/ prop("タスク").map(current.prop("ステヌタス")).length() * 100),
ifs(進捗率 == 100, "✅ 党タスク完了", 進捗率 > 0, "⚠ 進行䞭 (" +進捗率 + ")%","❌ 未着手"))

䞋のトグルを開くず、各数匏ぞの倉曎をご確認いただけたす。既存の数匏は自動的に倉換されるこずにご留意ください。

プロパティ参照の倉曎点

匏機胜の倉曎点

date関数の倉曎点

テキスト関数の倉曎

チェックボックスブヌル倀機胜の倉曎点

たた、 match() や style() など、新しい関数もいく぀かありたすすべおの関数の䞀芧はこちらでご芧いただけたす。

数匏に぀いおの参考情報

  • 数匏の基本的な甚語に぀いおはこちら

  • ビギナヌ向けの数匏の曞き方ガむドはこちら

  • 数匏2.0の新機胜に぀いおのガむドはこちら

  • Notion数匏でサポヌトされるすべおの関数の䞀芧はこちら

このガむドを共有する

フィヌドバックを送信

このコンテンツは圹に立ちたしたか


テンプレヌトを䜿っおみる

テンプレヌトギャラリヌで10,000件以䞊のテンプレヌトをご芧ください


䜕か他にご質問はありたすか

Powered by Fruition