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

Declare

Оператор Declare используется для создания определений полей, где можно определить отношения между полями или функциями. Ряд определений полей можно использовать для автоматического создания производных полей, которые можно использовать как измерения. Например можно создать определение календаря и использовать его для создания соответствующих измерений, таких как год, месяц, неделя и день, на основе поля даты.

Можно использовать Declare, чтобы установить новое определение поля или создать определение поля на основе уже существующего определения.

Установка нового определения поля

Синтаксис:

definition_name:

Declare [Field[s]] Definition [Tagged tag_list ]

[Parameters parameter_list ]

Fields field_list 

Аргументы:

АргументОписание
definition_name

Имя определения поля с двоеточием в конце.

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

Пример:  

Calendar:

tag_list

Список тегов, разделенных запятыми, которые будут применяться к полям, извлеченным из определения поля. Применять теги не обязательно, но если не применить теги, которые используются для определения порядка сортировки, такие как $date, $numeric или $text, сортировка производных полей будет выполняться по порядку загрузки, как указано по умолчанию.

Пример:  

'$date'Thank you for bringing this to our attention, and apologies for the inconvenience.

Теги полей

parameter_list

Список параметров, разделенных запятыми. Параметр определяется в виде name=value и назначается в качестве начального значения, которое можно переписать при повторном использовании определения поля. Дополнительно.

Пример:  

first_month_of_year = 1

field_list

Список полей, разделенных запятыми, которые будут созданы при использовании определения поля. Поле определяется в виде <expression> As field_name tagged tag. Используйте $1 для ссылки на поле данных, из которого должны быть созданы производные поля.

Пример:  

Year($1) As Year tagged ('$numeric')

Пример:

Calendar: DECLARE FIELD DEFINITION TAGGED '$date' Parameters first_month_of_year = 1 Fields
Year($1) As Year Tagged ('$numeric'), Month($1) as Month Tagged ('$numeric'), Date($1) as Date Tagged ('$date'), Week($1) as Week Tagged ('$numeric'), Weekday($1) as Weekday Tagged ('$numeric'), DayNumberOfYear($1, first_month_of_year) as DayNumberOfYear Tagged ('$numeric') ;
 

Календарь теперь определен. Можно применить его к загруженным полям с датами, в данном случае OrderDate и ShippingDate, с помощью предложения Derive.

Производные поля (полный пример)

Повторное использование существующего определения поля

Синтаксис:

<definition name>:

Declare [Field][s] Definition

Using <existing_definition> 

[With <parameter_assignment> ]

Аргументы:

АргументОписание
definition_name

Имя определения поля с двоеточием в конце.

Пример:  

MyCalendar:

existing_definition

Определение поля для повторного использования при создании нового определения поля. Новое определение поля будет работать таким же образом, как определение, на котором оно основано, за исключением случая, когда используется parameter_assignment для изменения значения, используемого в выражениях поля.

Пример:  

Using Calendar

parameter_assignment

Список назначений параметров, разделенных запятыми. Назначение параметра определяется в виде name=value, оно переопределяет значение параметра, заданное в базовом определении поля. Дополнительно.

Пример:  

first_month_of_year = 4

Пример:

В этом примере мы повторно используем определение календаря, созданное в предыдущем примере. В этом случае мы хотим использовать финансовый год, начинающийся в апреле. Это достигается путем назначения значения 4 параметру first_month_of_year, который повлияет на определяемое поле DayNumberOfYear.

В этом примере допускается, что вы используете данные образца и определение поля из предыдущего примера.

MyCalendar: DECLARE FIELD DEFINITION USING Calendar WITH first_month_of_year=4;
 
DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING MyCalendar;
 

После повторной загрузки скрипта данных созданные поля будут доступны в редакторе листа с именами OrderDate.MyCalendar.* и ShippingDate.MyCalendar.*.

Подробнее

 

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!