コンテンツまでスキップ

【Notion】ロールアップした値に空白があると上手くソートできなかったので関数を使って解決してみた

はじめに


こんにちは、ネクストモードの鮎澤です。

今回は Notion のifs関数を使った小ネタを紹介します。

ロールアッププロパティの計算方法の一つに「平均」というものがあります。
これはリレーション先のプロパティ種別が数値の場合に、平均値を算出することができる機能です。
ここまでは特に気になる点は無いのですが、過去にこの機能についてお客様からとあるご相談を頂きました。

「ロールアップで数値のプロパティをソートするときに空白があると、空白が上位に来てしまうのですが解決策はありますか?

試しにロールアッププロパティで平均値を取得し、ロールアップでソートをしてみると空白のデータがあると上手くソートできませんでした。
(※2023年10月30日執筆時点)
どのような状態かというと下記の画像のように降順でソートしたときに、空白が上位に来てしまうことがあります。昇順でソートした場合も同様の結果になります。

notion-formulas-ifs-null-to-0_19

このようなときはifs関数を使うことで解決することができます。

本記事の方法はあくまで一例ですが、ifs関数の活用例としてご参考になれば幸いです。

関数2.0(Formula 2.0)


小ネタを紹介するにあたり、先日リリースされた関数2.0(Formula 2.0)を使い演算式を設定します。
関数2.0(Formula 2.0)については下記エントリーでご紹介しているので、よろしければご覧ください。


事象の再現方法



まずはリレーション先および平均値を出したいデータベースを用意します。
リレーション先のデータベースを「感想DB」、平均値を出したいデータベースを「映画リスト」とします。

評価者が映画タイトルの一覧から観たい作品を決めて評価するイメージです。
先に観たい映画のタイトルをデータベースに記入し、視聴後に評価を付けるためブランク(空白)があっていいものとします。

リレーションプロパティを使用して感想DBと映画リストのデータベースにリレーションをもたせます。

notion-formulas-ifs-null-to-0_13notion-formulas-ifs-null-to-0_14

続いて各映画につけた5段階評価の平均値を出してみます。
ロールアッププロパティを使用することで、感想DBの数値から平均値を算出することができます。

notion-formulas-ifs-null-to-0_15

そして空白がある状態でソートすると、冒頭の画像のようになるわけです。

ifs関数を使って空白を上手いことソートさせる


準備ができたので本題のifs関数を使い空白を上手いことソートさせていきます。

今回、2つのパターンをご紹介しますが結果としては同じなのでお好きな方法でお試しください。

ロールアップの数値を利用したifs関数

今回の課題はロールアップで数値のプロパティに空白があると上手くソートができないことです。

まずはなぜ空白になってしまうのか考えてみます。
平均値を算出するためには値が必要ですが、リレーション先の評価者B、評価者Fは5段階評価に値を記述していません。
そのため平均値が算出できず結果が空白になります。

解決方法の1つはロールアップの数値に空白がある場合は「0」を返し、0以上の値がある場合はロールアップで算出した平均値をそのまま返す関数を作成することです。
この条件で作成した関数とその結果は下記のとおりです。

notion-formulas-ifs-null-to-0_21

映画A、映画Bの数値が0になっていることが確認できます。
またロールアップ算出した平均値も結果はそのまま表示されています。

少し見栄えを気にしてロールアップのプロパティを非表示して、ifs関数-1の数値のプロパティをソートします。

  • 昇順でソート

notion-formulas-ifs-null-to-0_23

  • 降順でソート

notion-formulas-ifs-null-to-0_22

ifs関数で空白の場合は0を返すようにしたことで昇順・降順ともにうまくソートすることができました。

リレーション先の数値を利用した関数

もう1つご紹介するのはロールアップを使わず関数のみで完結させる方法です。

関数2.0(Formula 2.0)がリリースされたことで、リレーション先のプロパティにアクセスできるようになりました。
そのためリレーション先の5段階評価の数値から平均値を算出し、値が0以上であればその値を、それ以外であれば0を返す条件分岐式を書くことで解決することができます。

関数は下記のとおりです。

下記の画像はにifs関数の結果です。パターン1と同じ結果になっていることが分かります。

notion-formulas-ifs-null-to-0_24

また昇順・降順ともにうまくソートすることができました。

  • 昇順でソート

notion-formulas-ifs-null-to-0_25

  • 降順でソート

notion-formulas-ifs-null-to-0_26

まとめ


ソートが上手くいかない解決方法として2パターンのifs関数をご紹介いたしました。

どちらのパターンも結果として同じですが、2つ目の方は関数になれている方に向けとなっています。
そのため本ケースに遭遇した際は分かりやすい方を採用していただき、関数を使っていく中でより自分に合った方法でNotionライフを満喫していただければと思います。

Notionについてのお問い合わせ

ネクストモード社は、日本で3社しかないNotion販売代理店です。(2023年01月01日現在)
Notion導入を検討の際は是非下記からお問い合わせ頂けますと幸いです。

SaaS_LP