Declare

L'instruction Declare permet de créer des définitions de champ et de groupe, qui précisent les relations entre des champs ou des fonctions. Un ensemble de définitions de champ peut servir à générer automatiquement des champs dérivés, que vous pouvez ensuite utiliser comme dimensions. Par exemple, vous pouvez créer une définition de calendrier, qui vous sert à générer les dimensions associées, telles que l'année, le mois, la semaine et le jour, à partir d'un champ de date.

L'instruction Declare vous permet de configurer une nouvelle définition de champ ou de créer une définition de champ basée sur une définition existante.

Configuration d'une nouvelle définition de champ

Syntax:

definition_name:

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

[Parameters parameter_list ]

Fields field_list 

Arguments:

Argument Description
definition_name

Nom de la définition de champ, se terminant par deux-points.

Avertissement: N'utilisez pas autoCalendar comme nom pour les définitions de champs, car ce nom est réservé aux modèles de calendrier générés automatiquement.

Example:  

Calendar:

tag_list

Liste de balises séparées par des virgules à appliquer à des champs dérivés de la définition de champ. L'application de balises est facultative, mais si vous n'appliquez pas de balises servant à spécifier l'ordre de tri, telles que $date, $numeric ou $text, le champ dérivé sera trié par défaut par ordre de chargement.

Example:  

'$date'

Balises de champ

parameter_list

Liste de paramètres séparés par des virgules. Un paramètre se définit sous la forme name=value et se voit attribuer une valeur de départ, qu'il est possible de remplacer en cas de réutilisation d'une définition de champ. Facultatif.

Example:  

first_month_of_year = 1

field_list

Liste de champs séparés par des virgules à générer lorsque la définition de champ est utilisée. Un champ se définit sous la forme <expression> As field_name tagged tag. Utilisez $1 pour faire référence au champ de données à partir duquel les champs dérivés doivent être générés.

Example:  

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

Example:

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') ;
 

Le calendrier est à présent défini. Vous pouvez l'appliquer aux champs de date qui ont été chargés, dans ce cas OrderDate et ShippingDate, au moyen de la clause Derive.

Champs dérivés (exemple complet)

Réutilisation d'une définition de champ existante

Syntax:

<definition name>:

Declare [Field][s] Definition

Using <existing_definition> 

[With <parameter_assignment> ]

Arguments:

Argument Description
definition_name

Nom de la définition de champ, se terminant par deux-points.

Example:  

MyCalendar:

existing_definition

Définition de champ à réutiliser lors de la création de la nouvelle définition. La nouvelle définition de champ fonctionnera de la même façon que la définition initiale, à moins que vous n'utilisiez parameter_assignment pour modifier une valeur employée dans les expressions de champ.

Example:  

Using Calendar

parameter_assignment

Liste d'affectations de paramètres séparées par des virgules. Une affectation de paramètre se définit sous la forme name=value et remplace la valeur de paramètre définie dans la définition du champ de base. Facultatif.

Example:  

first_month_of_year = 4

Example:

Dans cet exemple, nous réutilisons la définition de calendrier créée au cours de l'exemple précédent. Dans ce cas, nous souhaitons utiliser un exercice fiscal qui commence en avril. Pour ce faire, nous affectons la valeur 4 au paramètre first_month_of_year, ce qui modifiera le champ DayNumberOfYear qui est défini.

Dans cet exemple, nous partons du principe que les échantillons de données et la définition des champs de l'exemple précédent sont réutilisés.

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

Lorsque vous avez rechargé le script de données, les champs générés sont disponibles dans l'éditeur de feuille, sous les noms OrderDate.MyCalendar.* et ShippingDate.MyCalendar.*.

See also: