# daynumberofquarter — funkcja skryptu i funkcja wykresu

Ta funkcja oblicza numer dnia kwartału, w którym przypada znacznik czasu. Ta funkcja służy do tworzenia kalendarza głównego.

Składnia:

DayNumberOfQuarter(timestamp[,start\_month])

Typ zwracanych danych: integer

Argumenty

| Argument | Opis |
| --- | --- |
| timestamp | Data lub znacznik czasu do oszacowania. |
| start\_month | Przez określenie wartości start\_month z zakresu od 2 do 12 (1 w przypadku pominięcia) można przesunąć początek roku do pierwszego dnia dowolnego miesiąca. Na przykład w celu określenia początku roku obrotowego na 1 marca należy podać wartość start\_month = 3. |

W tych przykładach używany jest format daty DD/MM/YYYY. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.

Przykłady funkcji

| Przykład | Wynik |
| --- | --- |
| `DayNumberOfQuarter('12/09/2014')` | Zwraca 74, numer dnia w bieżącym kwartale. |
| `DayNumberOfQuarter('12/09/2014',3)` | Zwraca 12, numer dnia w bieżącym kwartale.<br>W tym przypadku pierwszy kwartał zaczyna się od marca (ponieważ wartość start\_month określono jako 3). Oznacza to, że bieżącym kwartałem jest trzeci kwartał, który rozpoczął się 1 września. |

## Przykład 1 – styczeń, początek roku (skrypt)

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.

Skrypt ładowania zawiera:

* Prosty zestaw danych zawierający listę dat, który jest załadowany do tabeli o nazwie `Calendar`. Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR.

* Ładowanie poprzedzające, które tworzy dodatkowe pole, o nazwie `DayNrQtr`, używające funkcji `DayNumberOfQuarter()`.

Oprócz daty do funkcji nie przekazano żadnych innych parametrów.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `daynrqtr`

Tabela wynikowa

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

Pierwszym dniem roku jest 1 stycznia, ponieważ do funkcji `DayNumberOfQuarter()` nie przekazano drugiego argumentu.

1 stycznia to pierwszy dzień kwartału, natomiast 1 lutego to 32. dzień kwartału. 31 marca to 91. i ostatni dzień kwartału, natomiast 1 kwietnia to pierwszy dzień drugiego kwartału.

## Przykład 2 – luty, początek roku (skrypt)

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR.

* Argument `start_month` oznacza początek pierwszego lutego. W ten sposób początek roku obrotowego został ustawiony na 1 lutego.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `daynrqtr`

Tabela wynikowa

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

Pierwszym dniem roku jest 1 lutego, ponieważ w drugim argumencie do funkcji `DayNumberOfQuarter()` przekazano wartość 2.

Pierwszy kwartał roku obejmuje miesiące od lutego do kwietnia, a czwarty — od listopada do stycznia. Widać to w tabeli wyników, w której 1 lutego jest pierwszym dniem kwartału, a 31 stycznia jest 92. i ostatnim dniem kwartału.

## Przykład 3 – styczeń, początek roku (wykres)

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

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Została użyta domyślna zmienna systemowa `DateFormat` MM/DD/RRRR.

Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Wartość dnia kwartału jest obliczana przez miarę w obiekcie wykresu.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: `date`.

Utwórz następującą miarę:

`=daynumberofquarter(date)`

Tabela wynikowa

| data | =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 |

Pierwszym dniem roku jest 1 stycznia, ponieważ do funkcji `DayNumberOfQuarter()` nie przekazano drugiego argumentu.

1 stycznia to pierwszy dzień kwartału, natomiast 1 lutego to 32 dzień kwartału. 31 marca to 91. i ostatni dzień kwartału, natomiast 1 kwietnia to pierwszy dzień drugiego kwartału.

## Przykład 4 – luty, początek roku (wykres)

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

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w pierwszym przykładzie.

* Została użyta domyślna zmienna systemowa DateFormat MM/DD/RRRR.

* Rok obrotowy trwa od 1 lutego do 31 stycznia.

Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Wartość dnia kwartału jest obliczana przez miarę w obiekcie wykresu.

Skrypt ładowania

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

Obiekt wykresu

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: date.

Utwórz następującą miarę:

=daynumberofquarter(date,2)

Wyniki

Tabela wynikowa

| data | =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 |

Pierwszym dniem roku jest 1 stycznia, ponieważ w drugim argumencie do funkcji DayNumberOfQuarter() przekazano wartość 2.

Pierwszy kwartał roku obejmuje miesiące od lutego do kwietnia, a czwarty — od listopada do stycznia. Widać to w tabeli wyników, w której 1 lutego jest pierwszym dniem kwartału, a 31 stycznia jest 92. i ostatnim dniem kwartału.