Salesforce每筆紀錄都有「建立日期」、「上次修改日期」欄位,其欄位類型為DataTime。
但是在調報告時會發現「建立日期」、「上次修改日期」欄位只會顯示到日期,不會顯示時間。
#官方只表示Report就是沒有同時顯示日期與時間的功能。
曾經想過調閱「機會歷程紀錄」類型的報告,機會歷程紀錄中有「編輯日期Edit Date」且可在報告顯示出時間。只要篩選出Field/Event為“Created"的機會,這些機會的Edit Date等於Created Date,剩下只要群組「Edit Date」就可得到紀錄數了吧!
但實作後發現「編輯日期Edit Date」群組後依然只能顯示日期。因此調閱「機會歷程紀錄」類型的報告是行不通的。
其實可以直接在報告中解決!我們到Opportunities類型的報告中,新增一欄列層級公式CreatedDateTime,先把CreatedDate轉成文字看看結果。
>>點我看如何新增列層級公式
發現CreatedDateTime的時間顯示出來了,且群組CreatedDateTime後,時間格式也會保留。
確認CreatedDateTime可顯示時間後,因此剩下就是轉換時區以及擷取出“小時:分”的問題。
我們修改Row-Level Formula成:
left( text( timevalue(CREATED_DATE+8/24) ) ,5)
or
left( right( text(CREATED_DATE+8/24) ,9) ,5)
# CREATED_DATE+8 >> 日期增加8天
# CREATED_DATE+8/24 >> 時間增加8小時
因Salesforce的DateTime欄位是以GMT+0的時區儲存的,若要顯示GMT+8就要自己加8小時。
兩個公式殊途同歸,結果都可看見HH:mm格式。結果如下:
若只要看到小時,可這樣寫:
left( text( TIMEVALUE(CREATED_DATE+8/24) ) ,2)
or
text( hour( TIMEVALUE(CREATED_DATE+8/24) ) )
or
left( right( text(CREATED_DATE+8/24) ,9) ,2)
or
text( hour( TIMEVALUE(CREATED_DATE)+8*60*60*1000 ) )
以上四種公式殊途同歸,但我覺得第二條比較直觀。結果如下:
以上為簡單在報告擷取出建立“時間”方法。但若「建立時間」是需要常被調閱到的,可以考慮直接建立一個「公式」欄位,省去建立列層級公式的時間。
Reference:
Display Time within a Report
Using Date, Date/Time, and Time Values in Formulas
Add or subtract hours from a Date/Time field