在某些情況下,您可能需要變更 Looker 格式日期的方式。
舉例來說,如果您要為歐洲使用者建立探索和資訊主頁,則所有以全數字格式表示的日期都應以「日-月-年」的順序顯示。舉例來說,2019 年 6 月 7 日的格式應為 07/06/2019
或 Jun 07, 2019
。Looker 的預設格式會將日期顯示為 2019-06-07
。雖然您可以使用 DATE_FORMAT()
等 SQL 函式變更日期格式,但不建議您將所有內容都寫入一般 SQL。
在 html
參數中使用 Liquid
您可以在維度的 html
參數中使用流動格式,變更任何使用有效日期格式的欄位格式。由於 Liquid 需要有效的日期,因此建議您使用現有維度群組的時間範圍。您無法變更週或月編號,因為這些值會以整數形式傳回。
舉例來說,您可以將 ${created_date}
的格式設為 Aug 23 22
,而非 Looker 的預設 2022-08-23
:
dimension: date_formatted { sql: ${created_date} ;; html:{{ rendered_value | date: "%b %d, %y" }};; }
字串語法 "%b %d, %y"
的格式與 strftime
相同。
由於 html
參數使用 Liquid 格式,因此時間範圍的原始值不會變更,只有呈現給使用者的值會變更。這樣可確保日期在查詢中顯示的順序不會變更。
以下列舉其他可用範例。如需查看可用格式的詳細參考資料,請參閱本頁底部。
預設值 | 範例 |
%m/%d/%Y
|
2013 年 6 月 5 日 |
%A, %B %e, %Y
|
2013 年 6 月 5 日星期三 |
%b %e %a
|
6 月 5 日星期三 |
範例
以下探索查詢範例顯示「Order Items Date」和「Orders Items Week」的格式不同,並在「Created date」群組標籤下方排列,模擬探索欄位挑選器中的日期維度群組。
自訂格式會向使用者顯示,哪些日期和年份的週數對應到最大的項目計數值,並以降冪順序排序。
如要進一步瞭解如何使用 group_label
參數,請參閱 group_label
說明文件頁面。
LookML
探索範例使用以下 LookML:
# The original dimension group - hidden so that users can only choose from the formatted dates date and week timeframes dimension_group: created { hidden: yes type: time timeframes: [ raw, time, date, hour, hour_of_day, time_of_day, week, month, quarter, year ] sql: ${TABLE}.created_at ;; } # The customized timeframes, organized in the Explore field picker under the group label Created date dimension: date_formatted { group_label: "Created date" label: "Date" type: date_raw sql: ${created_date} ;; html: {{ rendered_value | date: "%b %d, %y" }};; } dimension: week_formatted { group_label: "Created date" label: "Week" type: date_raw sql: ${created_week} ;; html: {{ rendered_value | date: "Week %U (%b %d)" }};; }
strftime Reference
下表列出各種 strftime
格式。請注意,並非所有格式都能在 Looker 中正常顯示。
指定符 | 已替換為 | 範例 |
%a | 星期幾名稱縮寫 * | 週四 |
%A | 星期幾完整名稱 * | 星期四 |
%b | 縮寫的月份名稱 * | 8 月 |
%B | 完整月份名稱 * | 8 月 |
%c | 日期和時間表示法 * | 2001 年 8 月 23 日星期四 14:55:02 |
%C | 以整數 (00-99) 表示的年份 (除以 100 並截斷) | 20 |
%d | 每月第幾天,前面補零 (01-31) | 23 |
%D | 短格式 MM/DD/YY 日期,等同於 %m/%d/%y | 08/23/01 |
%e | 一個月內的第幾天,以空格填滿 ( 1-31) | 23 |
%F | 短格式 YYYY-MM-DD 日期,等同於 %Y-%m-%d | 2001-08-23 |
%g | 以週為單位的年份,末兩碼 (00-99) | 1 |
%G | 以週為週期 | 2001 |
%h | 縮寫的月份名稱 * (與 %b 相同) | 8 月 |
%H | 小時,以 24 小時制表示 (00-23) | 14 |
%I | 12 小時制格式的小時 (01-12) | 02 |
%j | 一年中的日期 (001-366) | 235 |
%k | 以 24 小時制表示的時刻,單一數字前面會加上空格 (0-23) | 14 |
%l | 以 12 小時制表示的時刻,單一數字前面會加上空格 (0-12) | 2 |
%m | 以十進位數字 (01-12) 表示的月份。 | 8 |
%M | 分鐘 (00-59) | 55 |
%n | 換行字元 '\n' | |
%P | am 或 pm 標記 (小寫) | pm |
%r | 12 小時制時間 * | 下午 2:55:02 |
%R | 24 小時制 HH:MM 時間,等同於 %H:%M | 14:55 |
%s | 自 Epoch 1970-01-01 00:00:00 +0000 (UTC) 算起的秒數 | 1566236649 |
%S | 秒 (00-61) | 2 |
%t | 水平定位字元 ("'\t'") | |
%T | ISO 8601 時間格式 (HH:MM:SS),等同於 %H:%M:%S | 14:55:02 |
%u | ISO 8601 星期幾以數字表示,星期一為 1 (1-7) | 4 |
%U | 以第一個星期日做為第一週的第一天,計算出週數 (00-53) | 33 |
%V | ISO 8601 週數 (01-53) | 34 |
%w | 以十進位數字表示的星期幾,星期日為 0 (0-6) | 4 |
%W | 以第一個星期一為第一週第一天的週數 (00-53) | 34 |
%x | 日期表示法 * | 08/23/01 |
%X | 時間表示法 * | 14:55:02 |
%y | 年份,末兩碼 (00-99) | 1 |
%Y | 年份 | 2001 |
%z | ISO 8601 時區與世界標準時間的時差 (1 分鐘=1、1 小時=100)。如果無法判斷時區,則不顯示任何字元 | 100 |
%Z | 時區名稱或縮寫 *如果無法判斷時區,則不顯示任何字元 | CDT |
%% | 百分比符號 % | % |