Перейти к основному содержимому

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

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

Syntax:  

Dual(text, number)

Return data type: двойное значение

Arguments:  

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

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

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

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

Example 1:  

Добавьте следующие примеры в скрипт и запустите его.

Load dual ( NameDay,NumDay ) as DayOfWeek inline

[ NameDay,NumDay

Monday,0

Tuesday,1

Wednesday,2

Thursday,3

Friday,4

Saturday,5

Sunday,6 ];

 

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

Example 2:  

Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1;

В этом примере выполняется определение текущего квартала. Это значение отображается как Q1, если функция Now() запускается в первые три месяца года, Q2 — для вторых трех месяцев и так далее. Однако при использовании в сортировке поле Quarter будет вести себя как числовое значение: от 1 до 4.

Example 3:  

Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter

Как и в предыдущем примере, поле Quarter создается с текстовыми значениями от 'Q1' до 'Q4', и ему назначаются числовые значения от 1 до 4. Для использования в скрипте необходимо загрузить значения для параметра Date.

Example 4:  

Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek

В этом примере создается поле YearWeek с текстовыми значениями вида '2012-W22' и в то же время присваивает числовое значение в соответствии с числом даты первого дня недели, например: 41057. Для использования в скрипте необходимо загрузить значения для параметра Date.

Join the Analytics Modernization Program

Modernize by leveraging your QlikView investment to begin using Qlik Sense on the Cloud.

Want to know more?
Remove banner from view