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') |
Пример:
Календарь теперь определен. Можно применить его к загруженным полям с датами, в данном случае 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.
В этом примере допускается, что вы используете данные образца и определение поля из предыдущего примера.
После повторной загрузки скрипта данных созданные поля будут доступны в редакторе листа с именами OrderDate.MyCalendar.* и ShippingDate.MyCalendar.*.