今天是 2018/06/03,前兩天看到朋友在 Facebook 牆上討論網美們在趕流行發「年中感慨文」,
他說:「我想提醒大家一下,一年過一半是 7/1 左右。」
我當下心想:「咦!好像是歐。」
覺得這個話題蠻有趣的,因為若不是朋友提到的話,我也就真的以為一年已經過一半了,實際上可能並非如此!
身為一個 FileMaker 開發者,我們當然可以用 FileMaker 來求證這件事情。
甚至不需要別打開一個新的 File 來計算,DataViewer 就可以輕鬆做到了。
** 附註:
DataViewer 是 FileMaker Advanced 才有的功能,最新的 FileMaker Pro 17 使用者不需擔心,FileMaker Pro 17 產品線只剩下 FileMaker Pro Advanced,所以自帶全部功能。
至於 FileMaker Pro 16 以前的使用者,可以參考這篇文章,裡面有一個檔案可以下載,在不使用 DataViewer 的情況下也可以達到同樣的效果。
以下介紹稍作步驟。
步驟 1:打開 FileMaker Pro Advanced
點選 FileMaker Pro Advanced 應用程式,螢幕左上方會出現 FileMaker Pro Advanced 功能列,這個時候不用開啟任何檔案,也不需要新建一個檔案。
步驟 2:打開 Data Viewer
功能列點選 Tools > Data Viewer(或是利用快速鍵 Ctrl + D)
接者,點選右下方「+」號,新增一個「計算式」
步驟 3:輸入計算式
在 Data Viewer 可以輸入任何你想要計算的東西,就像一張餐巾紙一樣,隨手拿起一張紙寫草稿,我們在 Data Viewer 可以先構思之後要用到的計算式,暫時寫錯也不會怎樣,不需要有很大的壓力。
這次計算所用到的 Function 函數:
- Let:設定變數、計算結果
- Date:直接設定日期,有固定格式:(「月」;「日」;「年」)
- GetAsNumber:把資料轉換為純「數字」,「日期」資料在 FileMaker 其實就是一串數字,只要 FileMaker 自己知道或是你告訴他,FileMaker 會自動把該串數字轉變成「日期」
- GetAsDate:把資料轉換為「日期」,這部分跟上面一個函數的作用剛好相反
藉由以上幾個函數的使用,把日期轉換為數字,接著在轉換回日期,這樣的做法讓我們可以確保得到的資料不會有問題,未來要檢查也隨時有依據,整體狀況比較清楚。
說了這麼多,接下來就真的輸入計算式,來看看會有什麼結果。
** 附註:
「~middleDate」 變數可以帶換成其他變數,Data Viewer 會即時顯示計算結果
輸入的計算式如下:
Let ([ ~start = GetAsNumber ( Date ( 12 ; 31 ; 2017 ) ); ~end = GetAsNumber ( Date ( 12 ; 31 ; 2018 ) ); ~ayear = ~end - ~start; ~halfyear = ~ayear * 0.5; ~middleDate = GetAsDate ( ~start + ~halfyear ) ]; ~middleDate )
/* 以下為備註: ~start 採用 2017 年最後一天 2017/12/31,代表第0天,依此類推,第1天為 2018/1/1 ~end 採用 2018/12/31 代表 2018 年的最後一天 以上兩者相減即得 ~ayear = 365,是一年的總天數 365 天 ~halfyear 代表「半」個年的天數,用 ~ayear * 0.5 = 182.5 ~middleDate = 第零天 + 182.5,取得日期,2018 過一半的日期就是「2018/7/1」 */