Declare

L'istruzione Declare consente di creare definizioni di campo e gruppo in cui è possibile definire le relazioni tra i campi o le funzioni. È possibile utilizzare una serie di definizioni di campo per generare automaticamente campi derivati, che possono essere utilizzati come dimensioni. Ad esempio, è possibile creare una definizione di calendario e utilizzarla per generare dimensioni correlate, come ad esempio anno, mese, settimana e giorno da un campo della data.

È possibile utilizzare Declare per impostare una nuova definizione di campo o per creare una definizione di campo basata su una definizione già esistente.

Impostazione di una nuova definizione di campo

Syntax:

definition_name:

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

[Parameters parameter_list ]

Fields field_list 

Arguments:

Argomento Descrizione
definition_name

Nome della definizione di campo, che termina con i due punti.

Avviso: Non utilizzare autoCalendar come definizione dei campi del calendario, in quanto questo nome è riservato per i modelli del calendario generati automaticamente.

Example:  

Calendar:

tag_list

Un elenco separato da virgole di tag da applicare ai campi derivati dalla definizione di campo. L'applicazione dei tag è opzionale, tuttavia se non si applicano i tag utilizzati per specificare l'ordinamento, ad esempio $date, $numeric o $text, per impostazione predefinita il campo derivato verrà ordinato in base all'ordine di caricamento.

Example:  

'$date'

Tag di campo

parameter_list

Un elenco separato da virgole di parametri. A un parametro definito nella forma name=value viene assegnato un valore iniziale che può essere sostituito quando viene riutilizzata la definizione di campo. Opzionale.

Example:  

first_month_of_year = 1

field_list

Un elenco separato da virgole di campi da generare quando viene utilizzata la definizione di campo. Un campo è definito nella forma <expression> As field_name tagged tag. Utilizzare $1 per fare riferimento al campo dati dal quale devono essere generati i campi derivati.

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

Il calendario è ora definito ed è possibile applicarlo ai campi data caricati, in questo caso OrderDate e ShippingDate, utilizzando una clausola Derive.

Campi derivati (esempio completo)

Riutilizzo di una definizione di campo esistente

Syntax:

<definition name>:

Declare [Field][s] Definition

Using <existing_definition> 

[With <parameter_assignment> ]

Arguments:

Argomento Descrizione
definition_name

Nome della definizione di campo, che termina con i due punti.

Example:  

MyCalendar:

existing_definition

La definizione di campo da riutilizzare durante la creazione di una nuova definizione di campo. La nuova definizione di campo funziona allo stesso modo della definizione sulla quale si basa, con l'eccezione dell'uso di parameter_assignment per modificare un valore utilizzato nelle espressioni di campo.

Example:  

Using Calendar

parameter_assignment

Un elenco separato da virgole di assegnazioni di parametri. Un'assegnazione di parametro viene definita nella forma name=value e sostituisce il valore del parametro impostato nella definizione di campo di base. Opzionale.

Example:  

first_month_of_year = 4

Example:

In questo esempio viene riutilizzata la definizione di calendario creata nell'esempio precedente. In questo caso si desidera utilizzare un anno fiscale che inizi ad aprile. Ciò si ottiene assegnando il valore 4 al parametro first_month_of_year, che influirà sul campo DayNumberOfYear definito.

Nell'esempio si suppone di utilizzare i dati campione e la definizione di campo dell'esempio precedente.

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

Una volta ricaricato lo script di dati, i campi generati sono disponibili nell'editor dei fogli con i nomi OrderDate.MyCalendar.* e ShippingDate.MyCalendar.*.

See also: