数式の概要

数式: Hero
この記事の内容

Notionデータベースでは、数式プロパティを追加して、他のプロパティに基づくあらゆる種類の計算や関数を実行できます。数式を使用して既存のデータを操作し、役立つ値を導きだしましょう 🔮


Notion関数は、既存のデータベースプロパティ、ビルトイン、関数を使用して便利な計算を実行できます。

数式の使用方法をいくつか見てみましょう。独自の数式を作成する場合は、以下の数式作成手順をご参照ください →

例1:プロジェクト管理

この例では、3つの数式を使用してプロジェクトの進捗を追跡します。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!

目標

プロパティ名

数式

使用される数式とビルトイン

プロジェクトの期日を開始日の2週間後に設定する

期日

dateAdd(開始日, 2, "week")

dateAdd():日付に時間を追加します。Unit引数には、yearsquartersmonthsweeksdayshoursminutesのいずれかを指定します。ここでは、weeksを使用します。

期日が過ぎており、また、ステータスがDoneではない場合は、プロジェクトを期限切れとしてマークする。

期日が過ぎており、また、ステータスがDoneではない場合は、プロジェクトを赤い太字で期限切れとしてマークする。

期日超過?

if(and(now() > Due Date, Status != "Done"), "Overdue", "")

if(and(now() > Due Date, Status != "Done"), style("Overdue", "red", "b"), "")

if():条件が真の場合は最初の値を返し、それ以外の場合は2番目の値を返します。これにより、条件付きの結果が可能になります。

and():論理演算子です。これにより、複数の要因が真であると評価することができます。

now():現在の日付と時刻を返します。これにより、プロジェクトの期日と比較して、現在の状況を評価することができます。

>:比較演算子です。これにより、期日が現在の日付よりも大きいという条件を比較することができます。

!=:比較演算子です。これにより、ステータスがDoneと等しくないという条件を定義することができます。

style():テキストに書式や色を設定します。有効な書式設定スタイルには、b(太字)、u(下線)、i(斜体)、c(コード)、またはs(取り消し線)があります。有効な色は、graybrownorgangeyellowgreenbluepurplepinkredです。背景色を設定するには、_backgroundを追加して背景色を設定します。今回は、b(太字)とredを適用します。

プロジェクトに関連付けられている期限超過タスクの数を表示する

残りのタスク

length(Tasks.map(current.Status != "Done"))

length():テキストまたはリスト値の長さを返します。これにより、残りのタスク数を表示できます。

map():入力リスト内のすべての項目に対して数式を実行した結果が入力されたリストを返します。これにより、タスクデータベースが表示され、該当するタスクをすべて取り込みます。

!=:比較演算子です。これにより、現在のステータスがDoneではないタスクを取り込めます。

例2:プロジェクトのブレーンストーミング

この例では、2つの数式を使用してプロジェクトのアイデアをブレーンストーミングし、それぞれの優先順位を計算し、各プロジェクトが受け取る投票数を数えます。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!RICEフレームワークを使用する別の設定については、このテンプレートをご覧ください。

目標

プロパティ名

数式

Reach(リーチ)、Impact(インパクト)、Confidence(信頼性)、Effort(労力)からなるRICEスコアに基づいて、優先順位を計算する

スコア(RICE)

Reach * Impact * Confidence / Effort

誰かが投票ボタンをクリックすると、それを総投票数に追加し、そのユーザーの名前をデータベースページに追加する

投票総数

length(投票者)

(応用編)例3:タスク管理の自動化

この例では、データベースオートメーション(別の種類のデータベースプロパティ)でいくつかの数式を使用し、すべてのサブタスクがDoneとしたときに親タスクをDoneとしてマークすることで、完了したプロジェクトやタスクを簡単に管理できるようにします。

データベースオートメーションには、それらのトリガーに基づいて実行されるトリガーとアクションがあります。数式を使用すると、アクションで使用できる変数を定義できます。

リンク先のページをワークスペースに複製することで、この例の数式設定を調べたり試したりできます!

目標

作り方

使用される数式とビルトイン

タスクがDoneに設定されるたびに、オートメーションをトリガーする

トリガー:ステータスがDoneに設定されたとき

-

オートメーションのトリガーとなったタスクに関連する最初のページを見つけ、親タスクを定義する

アクション1:親タスク変数を定義する

数式:Trigger page.Parent item.first()

Trigger page:オートメーションがトリガーされたデータベース内のページを参照します。.:そのページに関連するプロパティにアクセスすることを可能にします。

Parent item:そのプロパティのコンテンツを返します。この場合、プロパティは関連ページのリストです。

Parent itemプロパティに.first()関数を適用すると、そのリストの最初の関連ページが返されます。

親タスクにサブタスクがある場合、すべてのサブタスクのステータスがDoneであるかどうかを検証する。親タスクにサブタスクがない場合はfalseを返す。

アクション2:All subtasks done?の変数を定義する

数式:Parent Task.Sub-item ?Parent Task.Sub-item.every(current.Status == "Done") : false

三項演算子のX ?Y : Zは省略形条件式であり、条件XがTrueならYを返し、そうでなければZを返すことを意味します。if()文に代わる簡潔な表現です。

.every():リスト内の各項目について条件がtrueかどうかをチェックします。この関数内では、currentというキーワードを使用して、評価される行を参照できます。この場合、current.Status == "Done"という条件は、現在のページのステータスプロパティがDoneに設定されているかどうかをチェックし、そうであればtrueを返し、そうでなければfalseを返します。

すべてのサブタスクがDoneの場合、親タスクのステータスをDoneに設定する。そうでない場合は、親タスクの既存のステータスを保持する。

アクション3:ステータスプロパティの編集

数式All subtasks done? ?"Done" : Parent Task.Status

ここでも三項演算子を使い、すべてのサブタスクが完了したかどうかを確認します。完了していれば、オートメーションは親タスクのステータスをDoneに設定し、完了していなければ、親タスクのステータスはそのままになります。

Notionで数式を使用できる方法は以下のとおりです。

数式データベースのプロパティを作成するには、次の手順で操作します。

  1. データベースの上部で•••プロパティ新しいプロパティの順に選択します。

  2. 数式を選択します。

  3. 必要に応じて、プロパティに名前を付けます。

  4. 関数の編集を選択します。

データベースまたはボタンで数式を作成すると、数式エディターでその数式を作成および編集できるようになります。下図はその例です。

上部のフィールドは、数式を入力・編集する場所です。エディタの上部に数式を書くと、何が足りないか、あるいは数式が値を返すために何を期待しているかが表示されます。

編集の左側のパネルには、数式で使用できる要素(使用可能なプロパティ、ビルトイン、関数)が表示されます。

左側のパネルにカーソルを置くと、右側のパネルで数式要素が定義されます。また、これらの要素をどのように使用し、どのように構成すべきかの例も表示されます。

データベース行でエディタを開くと、その行の数式の出力結果がライブプレビューで表示されます。

数式は、以下の組み合わせで作成することができます。

  • プロパティ。

  • 特定の計算を設定するために使用されるビルトイン関数、演算子、ブール値。例としては、+(加算)、falseorなどがあります。

  • 関数、または数式が特定の出力を返すために実行できるアクション。例えば、replacesumsortなどがあります。

数式で使用可能なビルトインと関数の全リストは、こちらをご覧ください →


フィードバックを送信

このコンテンツは役に立ちましたか?


Powered by Fruition