# hour — функция скриптa и диаграммы

Эта функция возвращает время в часах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.

Синтаксис:

hour(expression)

Возвращаемые типы данных: целое

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому обращается пользователь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Sense. Qlik Sense будет отображаться на языке, который используется в браузере.

Примеры функции

| Пример | Результат |
| --- | --- |
| `hour(<br>'09:14:36' )` | Переданная текстовая строка неявно преобразуется в метку времени, так как она соответствует формату метки времени, определенному в переменной TimestampFormat. Это выражение возвращает 9. |
| `hour(<br>'0.5555' )` | Выражение возвращает 13 (так как 0,5555 = 13:19:55) |

## Пример 1. Переменная (скрипт)

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

#### Скрипт загрузки и результаты

Обзор

Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий транзакции по метке времени

* Переменная `TimeStamp` системы `(M/D/YYYY h:mm:ss[.fff] TT)` по умолчанию.

Создайте поле, `hour`, рассчитывающее время совершения покупок.

Скрипт загрузки

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
						
Transactions: 			
  Load 
    *, 
    hour(date) as hour 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
9497,'2022-01-05 19:04:57',47.25, 
9498,'2022-01-03 14:21:53',51.75, 
9499,'2022-01-03 05:40:49',73.53, 
9500,'2022-01-04 18:49:38',15.35, 
9501,'2022-01-01 22:10:22',31.43, 
9502,'2022-01-05 19:34:46',13.24, 
9503,'2022-01-04 22:58:34',74.34, 
9504,'2022-01-06 11:29:38',50.00, 
9505,'2022-01-02 08:35:54',36.34, 
9506,'2022-01-06 08:49:09',74.23 
]; 
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `hour`

Результирующая таблица

| date | hour |
| --- | --- |
| 2022-01-01 22:10:22 | 22 |
| 2022-01-02 08:35:54 | 8 |
| 2022-01-03 05:40:49 | 5 |
| 2022-01-03 14:21:53 | 14 |
| 2022-01-04 18:49:38 | 18 |
| 2022-01-04 22:58:34 | 22 |
| 2022-01-05 19:04:57 | 19 |
| 2022-01-05 19:34:46 | 19 |
| 2022-01-06 08:49:09 | 8 |
| 2022-01-06 11:29:38 | 11 |

Значение в поле часа создаются с использованием функции `hour()` и путем передачи даты в качестве выражения в предшествующем операторе load.

## Пример 2. Объект диаграммы (диаграмма)

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

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте Редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит следующее:

* Используется тот же набор данных, что и в первом примере.

* Переменная `TimeStamp` системы `(M/D/YYYY h:mm:ss[.fff] TT)` по умолчанию.

Однако в этом примере в приложение загружается неизмененный набор данных. Значения `hour` рассчитывается с использованием меры в объекте диаграммы.

Скрипт загрузки

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
			 
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
9497,'2022-01-05 19:04:57',47.25, 
9498,'2022-01-03 14:21:53',51.75, 
9499,'2022-01-03 05:40:49',73.53, 
9500,'2022-01-04 18:49:38',15.35, 
9501,'2022-01-01 22:10:22',31.43, 
9502,'2022-01-05 19:34:46',13.24, 
9503,'2022-01-04 22:58:34',74.34, 
9504,'2022-01-06 11:29:38',50.00, 
9505,'2022-01-02 08:35:54',36.34, 
9506,'2022-01-06 08:49:09',74.23 
]; 
				
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение: `date`.

Чтобы рассчитать `hour`, создайте следующую меру:

`=hour(date)`

Результирующая таблица

| due\_date | =hour(date) |
| --- | --- |
| 2022-01-01 22:10:22 | 22 |
| 2022-01-02 08:35:54 | 8 |
| 2022-01-03 05:40:49 | 5 |
| 2022-01-03 14:21:53 | 14 |
| 2022-01-04 18:49:38 | 18 |
| 2022-01-04 22:58:34 | 22 |
| 2022-01-05 19:04:57 | 19 |
| 2022-01-05 19:34:46 | 19 |
| 2022-01-06 08:49:09 | 8 |
| 2022-01-06 11:29:38 | 11 |

Значения для «`hour`» создаются с использованием функции `hour()`, где дата передается в виде выражения в мере для объекта диаграммы.