[FileMaker] 今年過一半了嗎?(今天日期:2018/06/03)

今天是 2018/06/03,前兩天看到朋友在 Facebook 牆上討論網美們在趕流行發「年中感慨文」,

他說:「我想提醒大家一下,一年過一半是 7/1 左右。」

我當下心想:「咦!好像是歐。」

螢幕快照 2018-06-03 下午9.16.35.png

覺得這個話題蠻有趣的,因為若不是朋友提到的話,我也就真的以為一年已經過一半了,實際上可能並非如此!

身為一個 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 功能列,這個時候不用開啟任何檔案,也不需要新建一個檔案。

螢幕快照 2018-06-04 下午1.35.13.png

 

步驟 2:打開 Data Viewer

功能列點選 Tools > Data Viewer(或是利用快速鍵 Ctrl + D)

接者,點選右下方「+」號,新增一個「計算式」

螢幕快照 2018-06-04 下午1.38.35.png

 

步驟 3:輸入計算式

在 Data Viewer 可以輸入任何你想要計算的東西,就像一張餐巾紙一樣,隨手拿起一張紙寫草稿,我們在 Data Viewer 可以先構思之後要用到的計算式,暫時寫錯也不會怎樣,不需要有很大的壓力。

這次計算所用到的 Function 函數:

  • Let:設定變數、計算結果
  • Date:直接設定日期,有固定格式:(「月」;「日」;「年」)
  • GetAsNumber:把資料轉換為純「數字」,「日期」資料在 FileMaker 其實就是一串數字,只要 FileMaker 自己知道或是你告訴他,FileMaker 會自動把該串數字轉變成「日期」
  • GetAsDate:把資料轉換為「日期」,這部分跟上面一個函數的作用剛好相反

藉由以上幾個函數的使用,把日期轉換為數字,接著在轉換回日期,這樣的做法讓我們可以確保得到的資料不會有問題,未來要檢查也隨時有依據,整體狀況比較清楚。

說了這麼多,接下來就真的輸入計算式,來看看會有什麼結果。

螢幕快照 2018-06-04 下午2.02.55.png

** 附註:
「~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」
*/

 

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s