跳到主要內容 跳至補充內容

week - 指令碼與圖表函數

此函數會傳回代表對應至輸入日期之週數的整數。

語法:  

week(timestamp [, first_week_day [, broken_weeks [, reference_day]]])

傳回的資料類型: 整數

引數
引數 描述
timestamp 要評估的時間戳記。
first_week_day

指定一週開始的日期。如果忽略,將使用變數 FirstWeekDay 的值。

first_week_day 可能的值是對星期一使用 0、對星期二使用 1,對星期三使用 2,對星期四使用 3,對星期五使用 4,對星期六使用 5,並對星期日使用 6。

如需系統變數的更多資訊,請參閱 FirstWeekDay

broken_weeks

如果您未指定 broken_weeks,則變數 BrokenWeeks 的值將用於定義週是否中斷。

如需系統變數的更多資訊,請參閱 BrokenWeeks

reference_day

如果您不指定 reference_day,變數 ReferenceDay 的值將用於定義要設定一月份的哪一天為參照日以定義第 1 週。依照預設,Qlik Sense 函數使用 4 作為參照日。這表示第 1 週必須包含 1 月 4 日,或者換言之,第 1 週必須始終至少在 1 月擁有 4 日。

如需系統變數的更多資訊,請參閱 ReferenceDay

week() 函數判定日期落在哪一週並傳回週數。

 在 Qlik Sense 中,建立應用程式時會擷取地區設定,對應的設定會儲存在指令碼中,作為環境變數。這些用來決定週數。

這表示,大部分的歐洲應用程式開發人員會取得下列環境變數,對應至 ISO 8601 定義:

Set FirstWeekDay =0; // Monday as first week day Set BrokenWeeks =0; // Use unbroken weeks Set ReferenceDay =4; // Jan 4th is always in week 1

北美應用程式開發人員通常會取得下列環境變數:

Set FirstWeekDay =6; // Sunday as first week day Set BrokenWeeks =1; // Use broken weeks Set ReferenceDay =1; // Jan 1st is always in week 1

該週的第一天由 FirstWeekDay 系統變數決定。您可以使用 week() 函數中的 first_week_day 引數變更該週的第一天。

若應用程式使用中斷的週,則週數計數在 1 月 1 日開始,並在 FirstWeekDay 系統變數的前一天結束,無論發生了多少天。

若應用程式正在使用未中斷的週,則第 1 週可以在前一年或 1 月的開頭幾天開始。這取決於您如何使用 FirstWeekDayReferenceDay 環境變數。

什麼情況下使用

若您想要按週比較彙總,則 The week() 函數很實用。例如,若您想要按週查看產品的總銷售額,可使用此函數。若使用者想要計算不一定要使用應用程式的 BrokenWeeksFirstWeekDayReferenceDay 系統變數時,即會選擇 week() 函數,而不是 weekname()

例如,若您想要按週查看產品的總銷售額。

若應用程式正在使用未中斷的週,則第 1 週可能包含上一年 12 月中的日期,或排除目前年份 1 月的日期。若應用程式正在使用中斷的週,則第 1 週的天數可少於七天。

區域設定

除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。如需詳細資訊,請參閱 修改用於應用程式和指令碼的區域設定

應用程式中的預設地區設定是根據使用者設定檔。這些地區格式設定與 Qlik Cloud 使用者介面中顯示的語言無關。Qlik Cloud 顯示的語言將與您正在使用的瀏覽器相同。

若您是應用程式建立者,可以為您建立的應用程式設定預設地區。如需詳細資訊,請參閱Qlik Cloud 分析 中設定用於建立應用程式和指令碼的偏好區域設定

以下範例假設

Set DateFormat= 'MM/DD/YYYY'; Set FirstWeekDay=0; Set BrokenWeeks=0; Set ReferenceDay=4;
函數範例
範例 結果

week('12/28/2021')

傳回 52。

week(44614) 傳回 8,因為這是 02/22/2022 的序號。
week('01/03/2021') 傳回 53。
week('01/03/2021',6) 傳回 1。

範例 1 – 預設系統變數

範例 2 – first_week_day

範例 3 – unbroken_weeks

範例 4 – reference_day

範例 – 圖表物件範例

範例 6 – 情境

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!