# daynumberofquarter 指令碼與圖表函數

此函數會計算時間戳記在當季度的第幾天。在建立主要行事曆時使用此函數。

語法：

DayNumberOfQuarter(timestamp[,start\_month])

傳回的資料類型： 整數

引數

| 引數 | 描述 |
| --- | --- |
| timestamp | 要評估的時間戳記。 |
| start\_month | 透過指定 start\_month 介於 2 和 12 之間 (如果省略，則為 1)，可將年初向前移到任何月份的第一天。例如，如果要使用起始於 3 月 1 日的會計年度，可指定 start\_month = 3。 |

這些範例使用日期格式 DD/MM/YYYY。日期格式是在位於資料載入指令碼頂端的 SET DateFormat 陳述式中指定。變更範例中的格式，以滿足您的需求。

函數範例

| 範例 | 結果 |
| --- | --- |
| `DayNumberOfQuarter('12/09/2014')` | 傳回 74，當前季度的天數。 |
| `DayNumberOfQuarter('12/09/2014',3)` | 傳回 12，當前季度的天數。<br>在此情況下，第一個季度從 3 月開始 (因為 start\_month 指定為 3)。這表示當前季度是第三季度，從 9 月 1 日開始。 |

## 範例 1 – 1 月是一年的開始 (指令碼)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofquarter.htm)

#### 載入指令碼和結果

概述

開啟 資料載入編輯器 並將下面的載入指令碼新增至新的索引標籤。

載入指令碼包含：

* 包含日期清單的簡單資料集，載入到名為 `Calendar` 的表格中。使用預設 `DateFormat` 系統變數 MM/DD/YYYY。

* 使用 `DayNumberOfQuarter()` 函數建立附加欄位 (名稱為 `DayNrQtr`) 的前置載入。

除了日期，不會向函數提供其他參數。

載入指令碼

```
SET DateFormat='MM/DD/YYYY'; 
 
Calendar: 
Load 
        date, 
        DayNumberOfQuarter(date) as DayNrQtr 
        ; 
Load 
date 
Inline  
[	 
date 
01/01/2022 
01/10/2022 
01/31/2022 
02/01/2022 
02/10/2022 
02/28/2022 
03/01/2022 
03/31/2022 
04/01/2022 
]; 
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* `date`

* `daynrqtr`

結果表格

| 日期 | 季度日數 |
| --- | --- |
| 01/01/2022 | 1 |
| 01/10/2022 | 10 |
| 01/31/2022 | 31 |
| 02/01/2022 | 32 |
| 02/10/2022 | 41 |
| 02/28/2022 | 59 |
| 03/01/2022 | 61 |
| 03/31/2022 | 91 |
| 04/01/2022 | 1 |

該年的第一天是 1 月 1 日，因為沒有第二引數傳遞至 `DayNumberOfQuarter()` 函數中。

1 月 1 日是該季的第 1 天，而 2 月 1 日是該季的第 32 天。3 月 31 日是該季的第 91 天和最後一天，而 4 月 1 日則是第 2 季的第 1 天。

## 範例 2 – 2 月是一年的開始 (指令碼)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofquarter.htm)

#### 載入指令碼和結果

概述

開啟 資料載入編輯器 並將下面的載入指令碼新增至新的索引標籤。

載入指令碼包含：

* 資料集與第一個範例中相同。

* 使用預設 `DateFormat` 系統變數 MM/DD/YYYY。

* 在 2 月 1 日開始的 `start_month` 引數。這將會計年度設定為 2 月 1 日。

載入指令碼

```
SET DateFormat='MM/DD/YYYY'; 
					
Calendar:
Load
	date,
	DayNumberOfQuarter(date,2) as DayNrQtr
	;
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
02/28/2022
03/01/2022
03/31/2022
04/01/2022
]; 
```

結果

載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度：

* `date`

* `daynrqtr`

結果表格

| 日期 | 季度日數 |
| --- | --- |
| 01/01/2022 | 62 |
| 01/10/2022 | 71 |
| 01/31/2022 | 92 |
| 02/01/2022 | 1 |
| 02/10/2022 | 10 |
| 02/28/2022 | 28 |
| 03/01/2022 | 30 |
| 03/31/2022 | 60 |
| 04/01/2022 | 61 |

該年的第一天是 2 月 1 日，因為傳遞至 `DayNumberOfQuarter()` 函數中的第二引數是 2。

該年的第一季從 2 月到 4 月，而第四季則從 11 月到 1 月。結果表格中顯示，2 月 1 日是該季的第 1 天，而 1 月 31 日是該季的第 92 天和最後一天。

## 範例 3 – 1 月是一年的開始 (圖表)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofquarter.htm)

#### 載入指令碼和圖表運算式

概述

開啟 資料載入編輯器 並將下面的載入指令碼新增至新的索引標籤。

載入指令碼包含：

* 資料集與第一個範例中相同。

* 使用預設 `DateFormat` 系統變數 MM/DD/YYYY。

不過，在此範例中，不變的資料集會載入到應用程式中。會透過圖表物件中的量值計算該季日子的值。

載入指令碼

```
SET DateFormat='MM/DD/YYYY';
						
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
02/28/2022
03/01/2022
03/31/2022
04/01/2022
]; 
```

結果

載入資料並開啟工作表。建立新的表格並將此欄位新增為維度： `date`。

建立下列量值：

`=daynumberofquarter(date)`

結果表格

| 日期 | =季度日數(日期) |
| --- | --- |
| 01/01/2022 | 1 |
| 01/10/2022 | 10 |
| 01/31/2022 | 31 |
| 02/01/2022 | 32 |
| 02/10/2022 | 41 |
| 02/28/2022 | 59 |
| 03/01/2022 | 61 |
| 03/31/2022 | 91 |
| 04/01/2022 | 1 |

該年的第一天是 1 月 1 日，因為沒有第二引數傳遞至 `DayNumberOfQuarter()` 函數中。

1 月 1 日是該季的第 1 天，而 2 月 1 日是該季的第 32 天。3 月 31 日是該季的第 91 天和最後一天，而 4 月 1 日則是第 2 季的第 1 天。

## 範例 4 – 2 月是一年的開始 (圖表)

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/daynumberofquarter.htm)

#### 載入指令碼和圖表運算式

概述

開啟 資料載入編輯器 並將下面的載入指令碼新增至新的索引標籤。

載入指令碼包含：

* 資料集與第一個範例中相同。

* 使用預設 DateFormat 系統變數 MM/DD/YYYY。

* 會計年度自 2 月 1 日起，至 1 月 31 日止。

不過，在此範例中，不變的資料集會載入到應用程式中。會透過圖表物件中的量值計算該季日子的值。

載入指令碼

```
SET DateFormat='MM/DD/YYYY';
						
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
02/28/2022
03/01/2022
03/31/2022
04/01/2022
]; 
```

圖表物件

載入資料並開啟工作表。建立新的表格並將此欄位新增為維度： date。

建立下列量值：

=daynumberofquarter(date,2)

結果

結果表格

| 日期 | =季度日數(日期,2) |
| --- | --- |
| 01/01/2022 | 62 |
| 01/10/2022 | 71 |
| 01/31/2022 | 92 |
| 02/01/2022 | 1 |
| 02/10/2022 | 10 |
| 02/28/2022 | 28 |
| 03/01/2022 | 30 |
| 03/31/2022 | 60 |
| 04/01/2022 | 61 |

該年的第一天是 1 月 1 日，因為傳遞至 DayNumberOfQuarter() 函數中的第二引數是 2。

該年的第一季從 2 月到 4 月，而第四季則從 11 月到 1 月。結果表格中證明，2 月 1 日是該季的第 1 天，而 1 月 31 日是該季的第 92 天和最後一天。