Declare

Der Befehl Declare wird verwendet, um Feld- und Gruppendefinitionen zu erstellen, in denen Sie Beziehungen zwischen Feldern und Funktionen festlegen können. Mithilfe mehrerer Felddefinitionen lassen sich automatisch abgeleitete Felder erstellen, die als Dimensionen verwendet werden können. Sie können beispielsweise eine Kalenderdefinition erstellen und diese zur Generierung von damit in Bezug stehenden Dimensionen, wie Jahr, Monat, Woche und Tag, aus einem Datumsfeld verwenden.

Sie können Declare verwenden, um entweder eine neue Felddefinition festzulegen oder eine Felddefinition auf der Grundlage einer bereits vorhandenen Definition erstellen.

Festlegen einer neuen Felddefinition

Syntax:

definition_name:

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

[Parameters parameter_list ]

Fields field_list 

Arguments:

Argument Beschreibung
definition_name

Name der Felddefinition, beendet mit einem Doppelpunkt.

Warnung: Verwenden Sie autoCalendar nicht als Namen für Felddefinitionen, da dieser Name für automatisch generierte Kalendervorlagen reserviert ist.

Example:  

Calendar:

tag_list

Eine durch Kommas getrennte Liste mit Tags, die auf über die Felddefinition abgeleitete Felder anzuwenden sind. Das Anwenden von Tags ist optional, aber wenn Sie keine Tags zum Festlegen einer Sortierreihenfolge anwenden wie $date, $numeric oder $text, wird das abgeleitete Feld standardmäßig nach Lade-Reihenfolge sortiert.

Example:  

'$date'

Tags für Felder

parameter_list

Eine durch Kommas getrennte Liste der Parameter. Ein Parameter wird in der Form name=value definiert. Ihm wird ein Startwert zugewiesen, der bei der Wiederverwendung der Felddefinition überschrieben werden kann. Optional.

Example:  

first_month_of_year = 1

field_list

Eine durch Kommas getrennte Liste der zu generierenden Felder, wenn die Felddefinition verwendet wird. Ein Feld wird in der Form <expression> As field_name tagged tag definiert. Verwenden Sie $1 zur Bezugnahme auf das Datenfeld, aus dem die abgeleiteten Felder generiert werden sollen.

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

Der Kalender ist jetzt definiert und Sie können ihn auf die Datumsfelder anwenden, die Sie geladen haben, in diesem Fall OrderDate und ShippingDate. Dazu dient eine Derive-Bedingung.

Abgeleitete Felder (vollständiges Beispiel)

Wiederverwenden einer vorhandenen Felddefinition

Syntax:

<definition name>:

Declare [Field][s] Definition

Using <existing_definition> 

[With <parameter_assignment> ]

Arguments:

Argument Beschreibung
definition_name

Name der Felddefinition, beendet mit einem Doppelpunkt.

Example:  

MyCalendar:

existing_definition

Die Felddefinition, die beim Erstellen einer neuen Felddefinition wiederverwendet werden soll. Die neue Felddefinition funktioniert wie die Definition, die ihr zugrunde liegt, mit der Ausnahme, wenn parameter_assignment zum Ändern eines Werts in den Feldformeln verwendet wird.

Example:  

Using Calendar

parameter_assignment

Eine durch Kommas getrennte Liste der Parameterzuweisungen. Eine Parameterzuweisung wird in der Form name=value festgelegt und überschreibt den Parameterwert, der in der Basisfelddefinition festgelegt ist. Optional.

Example:  

first_month_of_year = 4

Example:

In diesem Beispiel verwenden wir die Kalenderdefinition, die im vorhergehenden Beispiel erstellt wurde, erneut. In diesem Fall soll das Geschäftsjahr im April beginnen. Dies wird erreicht, indem dem Parameter first_month_of_year der Wert 4 zugewiesen wird, was sich auf das definierte Feld DayNumberOfYear auswirkt.

Im Beispiel wird angenommen, dass Sie die Beispieldaten und die Felddefinition des vorherigen Beispiels verwenden.

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

Wenn Sie das Datenskript neu geladen haben, sind die generierten Felder im Arbeitsblatteditor verfügbar und tragen die Namen OrderDate.MyCalendar.* und ShippingDate.MyCalendar.*.

See also: