Declare
Declare-satsen används för att skapa fältdefinitioner där du kan definiera relationer mellan fält eller funktioner. En uppsättning fältdefinitioner kan användas för att automatiskt generera härledda fält, vilka kan användas som dimensioner. Du kan till exempel skapa en kalenderdefinition och använda den för att generera relaterade dimensioner, som år, månad, vecka och dag, från ett datumfält.
Du kan använda Declare antingen för att skapa en ny fältdefinition eller en fältdefinition baserad på en befintlig definition.
Skapa en ny fältdefinition
Syntax:
definition_name:
Declare [Field[s]] Definition [Tagged tag_list ]
[Parameters parameter_list ]
Fields field_list
Argument:
Argument | Beskrivning |
---|---|
definition_name |
Fältdefinitionens namn, avslutad med kolon. Anteckning om varningAnvänd inte autoCalendar som namn på fältdefinitioner eftersom detta namn är reserverat för automatiskt genererade kalendermallar.
Exempel: Calendar: |
tag_list |
En kommaavgränsad lista över taggar att tillämpa på fält som härletts från fältdefinitionen. Det är valfritt att tillämpa taggar, men om du inte tillämpar taggar för att specificera sorteringsordning, som t.ex. $date, $numeric eller $text, kommer det härledda fältet som standard att sorteras efter laddningsordning. Exempel: '$date'Thank you for bringing this to our attention, and apologies for the inconvenience. |
parameter_list |
En kommaavgränsad lista över parametrar. En parameter definieras i formen name=value och tilldelas ett startvärde, vilket kan åsidosättas när en fältdefinition återanvänds. Valbart. Exempel: first_month_of_year = 1 |
field_list |
En kommaavgränsad lista över fält att generera när fältdefinitionen används. Ett fält definieras i formen <expression> As field_name tagged tag. Använd $1 för att referera till datafältet som de härledda fälten ska genereras från. Exempel: Year($1) As Year tagged ('$numeric') |
Exempel:
Kalendern är nu definierad och du kan tillämpa den på datumfälten som du har laddat, i det här fallet OrderDate och ShippingDate, med enDerive-sats.
Härledda fält (fullständigt exempel)
Återanvända en befintlig fältdefinition
Syntax:
<definition name>:
Declare [Field][s] Definition
Using <existing_definition>
[With <parameter_assignment> ]
Argument:
Argument | Beskrivning |
---|---|
definition_name |
Fältdefinitionens namn, avslutad med kolon. Exempel: MyCalendar: |
existing_definition |
Fältdefinitionen som ska återanvändas för att skapa den nya fältdefinitionen. Den nya fältdefinitionen kommer att fungera på samma sätt som definitionen den är baserad på, med undantag för om du använder parameter_assignment för att ändra värdet som används i fältuttrycken. Exempel: Using Calendar |
parameter_assignment |
En kommaavgränsad lista över parametertilldelningar. En parametertilldelning definieras i formen name=value och åsidosätter parametervärdet som är angett i basfältdefinitionen. Valbart. Exempel: first_month_of_year = 4 |
Exempel:
I det här exemplet återanvänder vi kalenderdefinitionen som skapades i föregående exempel. I det här fallet vill vi använda ett budgetår som börjar i april. Detta uppnår vi genom att tilldela värdet 4 till first_month_of_year-parametern, vilket påverkar DayNumberOfYear-fältet som definieras.
I exemplet antas att du använder samma exempeldata och fältdefinition som i föregående exempel.
När du har laddat dataskriptet blir de genererade fälten tillgängliga i arkredigeraren med namnen OrderDate.MyCalendar.* och ShippingDate.MyCalendar.*.