Declare

De opdracht Declare wordt gebruikt voor het maken van veld- en groepsdefinities, waarbij u relaties kunt definiëren tussen velden of functies. Een reeks van velddefinities kan worden gebruikt om automatisch afgeleide velden te genereren, die kunnen worden gebruikt als dimensies. Zo kunt u bijvoorbeeld een agendadefinitie maken en die gebruiken om gerelateerde dimensies te genereren, zoals jaar, maand, week en dag, vanuit een datumveld.

U kunt Declare gebruiken om een nieuwe velddefinitie op te zetten of om een velddefinitie te maken op basis van een reeds bestaande definitie.

Een nieuwe velddefinitie opzetten

Syntax:

definition_name:

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

[Parameters parameter_list ]

Fields field_list 

Arguments:

Argument Beschrijving
definition_name

Naam van de velddefinitie, afgesloten met een dubbele punt.

Waarschuwing: Maak geen gebruik van autoCalendar als naam voor velddefinities, aangezien deze naam is gereserveerd voor automatisch gegenereerde agendasjablonen.

Example:  

Calendar:

tag_list

Een door komma's gescheiden lijst met tags om toe te passen op velden die zijn afgeleid van de velddefinitie. Het toepassen van tags is optioneel, maar als u geen tags toepast die worden gebruikt voor het opgeven van de sorteervolgorde, zoals $date, $numeric of $text, wordt het afgeleide veld standaard gesorteerd op laadvolgorde.

Example:  

'$date'

Extra veldinfo

parameter_list

Een door komma's gescheiden lijst met parameters. Een parameter wordt gedefinieerd in de vorm name=value en krijgt een beginwaarde toegewezen, die kan worden vervangen als een velddefinitie opnieuw wordt gebruikt. Optioneel.

Example:  

first_month_of_year = 1

field_list

Een door komma's gescheiden lijst met velden die worden gegenereerd als de velddefinitie wordt gebruikt. Een veld wordt gedefinieerd in de vorm <expression> As field_name tagged tag. Gebruik $1 om te verwijzen naar het gegevensveld op basis waarvan de afgeleide velden moeten worden gegenereerd.

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

De agenda is nu gedefinieerd en u kunt deze toepassen op de datumvelden die zijn geladen, in dit geval OrderDate en ShippingDate, met behulp van een clausule Derive.

Afgeleide velden (volledig voorbeeld)

Een bestaande velddefinitie opnieuw gebruiken

Syntax:

<definition name>:

Declare [Field][s] Definition

Using <existing_definition> 

[With <parameter_assignment> ]

Arguments:

Argument Beschrijving
definition_name

Naam van de velddefinitie, afgesloten met een dubbele punt.

Example:  

MyCalendar:

existing_definition

De velddefinitie die opnieuw moet worden gebruikt bij het maken van de nieuwe velddefinitie. De nieuwe velddefinitie functioneert op dezelfde wijze als de definitie waarop deze is gebaseerd, behalve als u parameter_assignment gebruikt om een waarde te wijzigen die wordt gebruikt in de velduitdrukkingen.

Example:  

Using Calendar

parameter_assignment

Een door komma's gescheiden lijst met parametertoewijzingen. Een parametertoewijzing wordt gedefinieerd in de vorm name=value en vervangt de parameterwaarde die is ingesteld in de basisvelddefinitie. Optioneel.

Example:  

first_month_of_year = 4

Example:

In dit voorbeeld gebruiken we de agendadefinitie opnieuw die we in het voorafgaande voorbeeld hebben gemaakt. In dit geval willen we een fiscaal jaar gebruiken dat begint in april. Dit wordt gedaan door de waarde 4 toe te wijzen aan de parameter first_month_of_year, hetgeen van invloed is op het veld DayNumberOfYear dat is wordt gedefinieerd.

In het voorbeeld wordt ervan uitgegaan dat u de voorbeeldgegevens en velddefinitie uit het voorafgaande voorbeeld gebruikt.

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

Als u het gegevensscript opnieuw hebt geladen, zijn de gegenereerde velden beschikbaar in de werkbladeditor, met de namen OrderDate.MyCalendar.* en ShippingDate.MyCalendar.*.

See also: