# daynumberofquarter 脚本和图表功能

此函数用于计算时间戳所属的季度的天数。 创建主日历时使用此功能。

语法：

DayNumberOfQuarter(timestamp[,start\_month])

返回数据类型： 整数

参数

| 参数 | 描述 |
| --- | --- |
| timestamp | 要评估的日期或时间戳。 |
| start\_month | 通过在 2 和 12 之间（如果省略，则为 1）指定 start\_month，年初可移动到任何一个月的第一天。例如，如果您想要从 3 月 1 日开始的财政年工作，请指定 start\_month = 3。 |

以下示例使用日期格式 DD/MM/YYYY。日期格式已经在数据加载脚本顶部的 SET DateFormat 语句中指定。可以根据要求更改示例中的格式。

函数示例

| 示例 | 结果 |
| --- | --- |
| `DayNumberOfQuarter('12/09/2014')` | 返回 74，当前季度的天数。 |
| `DayNumberOfQuarter('12/09/2014',3)` | 返回 12，当前季度的天数。<br>在此例中，第一个季度从三月份开始（因为已将 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` 的字段的前置 Load。

除了日期之外，没有为函数提供其他参数。

加载脚本

```
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`

结果表

| 日期 | 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 日是季度的第一天，而 2 月 1 日是季度的第 32 天。3 月 31 日是本季度的第 91 天也是最后一天，而 4 月 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`

结果表

| 日期 | 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月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)`

结果表

| 日期 | =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 日是季度的第一天，而 2 月 1 日是季度的第 32 天。3 月 31 日是本季度的第 91 天也是最后一天，而 4 月 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)

结果

结果表

| 日期 | =daynumberofquarter(date,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月31日是本季度的第92天也是最后一天。