ADVERTISEMENT

【Notion】Notionの関数結果が空欄になる時のプロパティ型チェック

【Notion】Notionの関数結果が空欄になる時のプロパティ型チェック
🛡️ 超解決

Notionのデータベースで関数プロパティを利用している際、期待した値が表示されず空欄になることがあります。この問題は多くの場合、参照先のプロパティの型が関数に適していないことが原因です。特に会社で共有しているデータベースでは、プロパティ型の不一致が頻発するため、正確な切り分けが求められます。本記事では、プロパティ型を中心に原因を特定する方法と、適切な設定手順を解説します。

【要点】この記事で確認すること

  • 最初に見る場所: 関数が参照している各プロパティの型と、実際に値が入力されているかどうか
  • 切り分けの軸: 関数の構文エラー、プロパティ型の不一致、データの欠損、ロールアップ・集計設定の誤り
  • 注意点: 会社で共有されているデータベースの場合、プロパティ型を変更すると他のメンバーに影響が出るため、管理者に確認してから修正してください

ADVERTISEMENT

1. 関数の結果が空欄になる主な原因

関数プロパティの結果が空欄になる原因は、大きく以下の4つに分類できます。いずれもプロパティ型と関数の要求する型が合っていないケースが大半を占めます。

1-1. プロパティ型の不一致

Notionの関数は、参照するプロパティの型に応じて動作が決まります。たとえば数値の合計を計算するsum()関数にテキスト型のプロパティを指定しても計算できず、空白が返ります。同様に、日付の差を求めるdateBetween()には日付型プロパティが必要です。

1-2. 参照プロパティが空である

関数が参照しているプロパティに値が1つも入力されていない場合も結果は空欄になります。たとえばprop("金額")がすべてのページで未入力なら、sum()の結果は0ではなく空白です。

1-3. 関数の構文エラー

カッコの閉じ忘れやプロパティ名の引用符不足など、構文が正しくない場合も空欄になります。このとき通常はエラー表示が出ますが、一部のバージョンでは空白になることも報告されています。

1-4. ロールアップやリレーションの設定ミス

ロールアッププロパティを関数で使用する場合、ロールアップの計算方法が正しく設定されていないと値が取得できず、関数が空欄になります。たとえば「合計」を選ぶべきところを「カウント」にしているケースです。

お探しの解決策が見つからない場合は、こちらの「Notionトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. プロパティ型の確認と修正手順

ここからは、実際にプロパティ型を確認し、必要に応じて修正する手順を説明します。会社のデータベースを編集する前に、必ず管理者の了承を得てください。

  1. データベースの右上にある「…」メニューを開き、「データベース設定」を選択します。
  2. プロパティ一覧から、関数が参照しているプロパティを探し、その型(テキスト、数値、日付など)を確認します。型はプロパティ名の横にアイコンで表示されています。
  3. 関数の数式を確認します。プロパティ名をクリックして数式バーを開き、prop("プロパティ名")の部分が正しいか、また使用している関数(sumdateBetweenなど)が期待する型と参照先の型が一致しているか確認します。
  4. 型が一致していない場合は、プロパティの型を変更するか、新しいプロパティを適切な型で追加して値を移行します。型変更はプロパティの設定画面から行えますが、既存のデータが失われる可能性があるため注意が必要です。
  5. 変更後、関数が正しく値を返すかテストします。該当のデータベースページをリロードし、数式のプレビューで結果が表示されることを確認します。

3. 代表的な関数と必要なプロパティ型の比較表

以下の表は、よく使われる関数と、それらが要求するプロパティ型の対応を示しています。関数を書く前に、参照するプロパティの型がこの表に合っているか確認してください。

関数 用途 必要なプロパティ型
sum() 数値の合計 数値(Number)
dateBetween() 日付の差 日付(Date)
format() 文字列変換 任意の型(テキストに変換)
if() 条件分岐 判定条件に応じた型(例:真偽値)
contains() 文字列の包含 テキスト(Text)

ADVERTISEMENT

4. 失敗パターンとその対処法

実際の現場でよく遭遇する失敗パターンを3つ紹介します。いずれもプロパティ型の認識違いが原因です。

4-1. 数値プロパティをテキストとして入力している

「123」という数字をテキスト型のプロパティに入力すると、関数はそれを数値として認識できません。数値計算用の関数を使う場合は、プロパティ型を「数値」に設定し、値も数値として入力します。型変更後は既存のテキスト値が自動変換されないため、手動で数値に修正する必要があります。

4-2. 日付の差分計算で、開始日と終了日のどちらかが空欄

dateBetween(prop("終了"), prop("開始"), "days")のように書くとき、どちらかの日付プロパティが空欄だと結果は空になります。この場合、if()関数を使って空欄チェックを追加すると、空欄のときは別の値を返すようにできます。

4-3. ロールアップを関数で参照するときの集計方法の誤り

ロールアッププロパティは、リレーション先のデータベースの値を集計します。このロールアップの集計方法が「合計」や「平均」などの数値に適した方法になっていないと、関数が期待する型と合わず空欄になります。ロールアップの設定画面で集計方法を確認し、関数の用途に合わせて変更してください。

5. 管理者に確認すべきポイント

会社のデータベースでプロパティ型を変更する場合は、管理者またはデータベースのオーナーに以下の点を相談してください。

  • 型変更の影響範囲: 他のメンバーが作成した関数やテンプレート、自動化が影響を受ける可能性があります。
  • データのバックアップ: 型を変更すると既存のデータが失われることがあるため、事前にデータベースのexportを取得することをおすすめします。
  • 代替案の提案: 既存のプロパティ型を変えずに、新しいプロパティを追加してそちらを使う方法も検討します。
  • 権限の確認: あなたにプロパティの編集権限があるかどうかを確認してください。なければ管理者に依頼します。

6. よくある質問(FAQ)

Q1: 関数の結果が0ではなく空欄になるのはなぜですか?

Notionの関数は、参照先のプロパティに値が1つもない場合、結果として空欄を返します。例えばsum()で、すべての数値プロパティが未入力なら0ではなく空白になります。この動作は仕様です。空欄を避けたい場合は、if(empty(prop("数値")), 0, prop("数値"))のように空チェックを入れてください。

Q2: 関数にエラーは出ていないのに空欄のままです。どうすればいいですか?

まず、関数が参照しているすべてのプロパティに実際に値が入っているか確認してください。次に、プロパティの型が適切かどうかをチェックします。特に文字列と数値の混在は見落としがちです。最後に、ロールアップを使っている場合は、ロールアップの集計方法が関数の要求に合っているか確かめてください。

Q3: 会社の共有データベースで型を変えたいけど、周りに影響が心配です。

型変更は他の人の関数やビューに影響を与えるため、必ず管理者またはチームに相談してください。影響を最小限に抑える方法として、既存のプロパティはそのままにして、新しい適切な型のプロパティを追加することをおすすめします。

7. まとめ

Notionの関数の結果が空欄になる原因は、大半がプロパティ型の不一致または値の欠落です。まず参照先のプロパティ型を確認し、関数が要求する型と合っているかをチェックしてください。次に実際に値が入力されているかを確認し、最後に構文やロールアップ設定を見直します。会社の共有データベースでは、むやみに型を変更せず、管理者と相談しながら適切な修正を行ってください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

🧩
Notionトラブル完全解決データベース 共有、権限、データベース、Notion AI、インポートで止まる問題を横断的に確認できます。

ADVERTISEMENT