# Declare

Instrukcja Declare służy do tworzenia definicji pól, w których można określić relacje między polami a funkcjami. Definicje zestawów pól można wykorzystać do automatycznego generowania pochodnych pól, których można użyć jako wymiarów. Można na przykład utworzyć definicję kalendarza i użyć jej do wygenerowania z pola daty powiązanych wymiarów takich jak rok, miesiąc, tydzień i dzień.

Instrukcji Declare można używać albo do skonfigurowania nowej definicji pola, albo do utworzenia definicji pola na podstawie już istniejącej definicji.

## Konfigurowanie nowej definicji pola

Składnia:

definition\_name:

Declare [Field[s]] Definition [Tagged tag\_list ]

[Parameters parameter\_list ]

Fields field\_list

Argumenty:

| Argument | Opis |
| --- | --- |
| definition\_name | Nazwa definicji pola, zakończona dwukropkiem.<br><br>OstrzeżenieJako nazwy definicji pola nie należy używać autoCalendar, gdyż jest to nazwa zarezerwowana dla automatycznie generowanych szablonów kalendarza.<br><br>Przykład:<br><br>`Calendar:` |
| tag\_list | Rozdzielana przecinkami lista znaczników stosowanych do pól pochodnych tworzonych na podstawie tej definicji pola. Stosowanie znaczników nie jest obowiązkowe, ale jeśli nie zostaną podane znaczniki określające kolejność sortowania, na przykład $date, $numeric lub $text, pole pochodne będzie domyślnie sortowane według kolejności ładowania.<br><br>Przykład:<br><br>`'$date'Thank you for bringing this to our attention, and apologies for the inconvenience.`<br><br>[Znaczniki pól](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/field-tags.htm) |
| parameter\_list | Rozdzielana przecinkami lista parametrów. Parametr ma definicję w postaci `name=value` i otrzymuje wartość początkową, którą można zastąpić przy ponownym wykorzystaniu definicji pola. Opcjonalnie.<br><br>Przykład:<br><br>`first_month_of_year = 1` |
| field\_list | Rozdzielana przecinkami lista pól generowanych, gdy używana jest definicja pola. Definicja pola ma postać `<expression> As field_name tagged tag`. Symbol `$1` umożliwia odwoływanie się do pola danych, z którego mają być generowane pola pochodne.<br><br>Przykład:<br><br>`Year($1) As Year tagged ('$numeric')` |

Przykład:

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

```
 
```

Kalendarz został zdefiniowany. Teraz można stosować go do załadowanych pól daty, w tym przypadku OrderDate i ShippingDate, używając klauzuli Derive.

[Pola pochodne](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/derived-fields.htm) (pełny przykład)

## Ponowne używanie istniejącej definicji pola

Składnia:

&lt;definition name&gt;:

Declare [Field][s] Definition

Using &lt;existing\_definition&gt;

[With &lt;parameter\_assignment&gt; ]

Argumenty:

| Argument | Opis |
| --- | --- |
| definition\_name | Nazwa definicji pola, zakończona dwukropkiem.<br><br>Przykład:<br><br>MyCalendar: |
| existing\_definition | Definicja pola, która zostanie ponownie użyta podczas tworzenia nowej definicji pola. Nowa definicja pola będzie działać analogicznie do definicji, na której jest oparta, chyba że zostanie podany argument parameter\_assignment zmieniający wartość używaną w wyrażeniach pola.<br><br>Przykład:<br><br>Using Calendar |
| parameter\_assignment | Rozdzielana przecinkami lista przypisań parametrów. Przypisanie parametru ma postać name=value i powoduje zastąpienie wartości parametru ustawionej w bazowej definicji pola. Opcjonalnie.<br><br>Przykład:<br><br>first\_month\_of\_year = 4 |

Przykład:

W tym przykładzie ponownie użyjemy definicji kalendarza utworzonej w poprzednim przykładzie. W tym przypadku chcemy używać roku obrachunkowego zaczynającego się w kwietniu. Można to osiągnąć, przypisując parametrowi first\_month\_of\_year wartość 4, co wpłynie na wartość zdefiniowanego pola DayNumberOfYear.

Posłużymy się tutaj danymi i definicją pola z poprzedniego przykładu.

MyCalendar: DECLARE FIELD DEFINITION USING Calendar WITH first\_month\_of\_year=4;

DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING MyCalendar;

Po przeładowaniu skryptu ładowania danych pola wygenerowane będą dostępne w edytorze arkusza pod nazwami OrderDate.MyCalendar.\* i ShippingDate.MyCalendar.\*.

## Dowiedz się więcej

* [Derive](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Derive.htm)