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

Dual() объединяет число и строку в одной записи таким образом, что число, представляющее строку, можно использовать для сортировки и вычислений, а значение строки может использоваться для отображения.

Синтаксис:

Dual(text, number)

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

Примечание к информацииВсе двойные возвращаемые значения выравниваются по правому краю.

Аргументы:

Аргументы

| Аргумент | Описание |
| --- | --- |
| text | Значение строки, которое будет использоваться вместе с числовым аргументом. |
| number | Число, которое будет использоваться вместе со строкой в строковом аргументе. |

В программе Qlik Sense все значения полей потенциально являются двойными. Это означает, что значения полей могут иметь как числовое, так и текстовое значения. Примером служит дата, которая может иметь числовое значение 40908 и текстовое представление '2011-12-31'.

Примечание к информацииЕсли несколько элементов данных, переданных в одно поле, имеют разные строковые представления, но одно действительное числовое представление, то все они будут использовать первое найденное строковое представление.

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

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

#### Примеры и результаты:

Примеры написания скриптов

| Пример | Описание |
| --- | --- |
| Добавьте следующие примеры в скрипт и запустите его.<br><br>`Load dual ( NameDay,NumDay ) as DayOfWeek inline` `[ NameDay,NumDay` `Monday,0` `Tuesday,1` `Wednesday,2` `Thursday,3` `Friday,4` `Saturday,5` `Sunday,6 ];` | Поле DayOfWeek можно использовать в визуализации, например в качестве измерения. В таблице дни недели автоматически сортируются в правильной числовой последовательности, а не по алфавиту. |
| `Load<br>Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter<br>AutoGenerate 1;` | В этом примере выполняется определение текущего квартала. Это значение отображается как Q1, если функция Now() запускается в первые три месяца года, Q2 — для вторых трех месяцев и так далее. Однако при использовании в сортировке поле Quarter будет вести себя как числовое значение: от 1 до 4. |
| `Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter` | Как и в предыдущем примере, поле Quarter создается с текстовыми значениями от 'Q1' до 'Q4', и ему назначаются числовые значения от 1 до 4. Для использования в скрипте необходимо загрузить значения для параметра Date. |
| `Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek` | В этом примере создается поле YearWeek с текстовыми значениями вида '2012-W22' и в то же время присваивает числовое значение в соответствии с числом даты первого дня недели, например: 41057. Для использования в скрипте необходимо загрузить значения для параметра Date. |