高效生活,幫助你找回更多自己的時間
不知道你是否跟我一樣,Google「Notion random quotes」會一直找到這個 Notion Quotes Widget,雖然效果很棒,但我就想要看到自己存下來的詩句啊!!
於是英文苦手的我研究來研究去,終於找到了一個方法來達到想要的功能。
如上圖,在不同時間重新整理頁面,即會從你的資料庫裡挑選出一句「佳句」,意即只要你每一次打開 Notion ,就會得到一個驚喜,快來看看我是怎麼做的吧!
首先,必須得聲明,這個方法並非我原創,但我也花了許多心思在重新構築整套核心機制。在這裡先致敬原作者,附上影片以示尊重。
由於本人英文苦手,即便有影片教學,基本上可以說還是完全看不懂,但強迫症的個性使然,不想直接複製貼上(不懂運作機制會令我感到煩躁)
最後,我決定從最根本的核心理念開始,重新建構屬於自己能理解的「隨機機制」。
雖然內文看不懂,但我得到了兩個非常有用的資訊,我們能透過 Notion 的 Formula 函數,分別獲取「固定」與「隨機」這兩組數字。透過兩組數字的組合與運算,最終可以得到一組隨機的數值。
舉例說明
有一組固定數值為 134,除以隨機數值 172 ,結果會得到 0.774566474….,我們只要從小數點後面任意取 3 位數,像是 0.774566
474 中的 566 對於我們來說就是「隨機數值」。
因為當隨機數值跳變成 176 時,134÷173=0.761363
6364,小數點後的 3 位數取數值為 363,是不是結果就完全不一樣了?
獲得隨機數值後,我們可以透過 Rollup 功能來獲取「最大值」,並透過函數來判定哪一筆資料等同「最大值」,最終就能透過 Filter 功能來顯示唯一的結果。
如果你完全看不懂,那也不用擔心,貼心鬼如我,畫了一張流程圖來讓你更容易理解整個機制。
以下我會說明整個流程是如何進行設定,相信只要跟著我的步驟,你一定也可以設定出屬於自己的「隨機模板」!
注意事項
為不製造理解上的困擾,因此文章會使用大量的 Notion 原生用詞,例如 Database、Formula 之類的,本人絕非「晶晶體」慣用者。
id
來獲得一組英文&數字的字符replaceAll
來去掉英文字母,得到一長串數字substring
來取 6 位數字(想從第幾位開始取都可以)toNumber()
將得到的結果轉化成數字id().replaceAll("[a-z]").substring(0,6).toNumber()
now
來獲取現在的時間(函數取到的最小單位為分鐘)timestamp
將時間轉化成數字(每分鐘會更新一次)substring
取 5 位數後的 4 個數字(因為前面數值會是固定的,但我們需要變數)toNumber()
將得到的結果轉化成數字now().timestamp().substring(5,9).toNumber()
上面我們透過了函數取得了 Notion 裡的隨機數值,接下來我們將透過組合與運算,得到一組更隨機的數值。
substring
來取小數點後的 3 位數(想從第幾位開始取都可以)toNumber()
將得到的結果轉化成數字substring((prop("獲取固定數值")+prop("獲取隨機數值"))/prop("獲取隨機數值"),6,9).toNumber()
2. 將主要 Database 的每一筆資料都 Relation 至隨機小幫手,如上圖
獲取更隨機的數值
Max
(其實選擇 Min 也是可以的)toNumber
函數將上步驟的結果數值化prop("Rollup最大值").toNumber()
3. 在主要 Database 中建立一個 Rollup
4. Relation 選擇 [Sample]次要資料庫
5. Property 選擇 最大值數字化
6. Calculate 選擇 Max
因為最大值是唯一,所以 Checked(打勾)的結果也會是唯一。
恭喜你把這篇文章讀完了!除了上述的「隨機佳句」之外,我想應用在「隨機食譜」也是一個不錯的選擇。
希望這篇「隨機機制」的文章你會喜歡,如果真的看不懂,也可以複製底下的模板,好好研究一番,貼心鬼如我也附上了更詳細的版本,只要你跟著步驟做,一定可以自己設定完成。
若有任何想法都可以在底下留言討論,你們的留言就是我最大的創作動力(以前都覺得這是幹話,如今開始創作才發現這是真的),如果你知道如何透過運算來讓數值「更隨機」麻煩一定要留言,我們一起交流交流 🥰
嘔心瀝血創作的「一鍵打卡-習慣追蹤」模板已經上架了!
如果你喜歡我的文章,或許你也會喜歡我的模板,筆者有偷偷送給身旁兩位交情不錯的友人使用,皆得到滿不錯的心得回饋,在這裡推薦給各位。