# Declare

Declare ステートメントは、項目定義を作成するために使用されます。このステートメントでは、項目や関数間の関係も定義できます。一連の項目の定義は、取得項目の自動生成に使用できます。取得項目は、軸として使用することもできます。例えば、カレンダー定義を作成して、日付項目から年、月、週、日などの関連する軸を生成するために使用できます。

Declare は、新しい項目定義の設定にも、既存の定義に基づく項目定義の作成にも使用できます。

## 新しい項目定義の設定

構文:

definition\_name:

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

[Parameters parameter\_list ]

Fields field\_list

引数：

| 引数 | 説明 |
| --- | --- |
| definition\_name | 項目定義の名前 (末尾にコロン)。<br><br>警告メモ項目定義の名前としてautoCalendarは使用しないでください。この名前は、自動生成されるカレンダー テンプレートとして予約済みです。<br><br>`Calendar:` |
| tag\_list | 項目定義をもとに作成された項目に適用するタグのコンマで区切りのリスト。タグの適用はオプションですが、$date、$numeric、$text などのソート順を指定するのに使用するタグを適用しない場合、生成される項目はデフォルトのロード順序でソートされます。<br><br>`'$date'Thank you for bringing this to our attention, and apologies for the inconvenience.`<br><br>[項目タグ](https://help.qlik.com/ja-JP/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/field-tags.htm) |
| parameter\_list | コンマ区切りのパラメータ リスト。パラメータは `name=value` 形式で定義され、初期値が割り当てられます。初期値は、項目定義が再利用時に、上書きできます。オプション。<br><br>`first_month_of_year = 1` |
| field\_list | 項目定義が使用される際に生成される項目のカンマ区切りのリスト。項目は `<expression> As field_name tagged tag` の形式で定義されます。自動取得項目の生成元のデータ項目を参照するには `$1` を使用します。<br><br>`Year($1) As Year tagged ('$numeric')` |

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

```
 
```

カレンダーが定義され、ロードされたデータ項目にカレンダーを適用できるようになりました。この場合、Derive 節を使用して OrderDate と ShippingDate にカレンダーを適用できます。

[派生項目](https://help.qlik.com/ja-JP/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/derived-fields.htm) (詳細な例)

## 既存の項目定義の再使用

構文:

&lt;definition name&gt;:

Declare [Field][s] Definition

Using &lt;existing\_definition&gt;

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

引数：

| 引数 | 説明 |
| --- | --- |
| definition\_name | 項目定義の名前 (末尾にコロン)。<br><br>MyCalendar: |
| existing\_definition | 新しい項目定義の作成時に再利用する項目定義。作成した新しい項目定義は、項目式で使用されている値を変更するために parameter\_assignment を使用する場合を除いて、元になった定義と同様に機能します。<br><br>Using Calendar |
| parameter\_assignment | コンマ区切りのパラメータ割り当てリスト。パラメータの割り当ては name=value の形式で定義され、元になる項目定義に設定されているパラメータ値を上書きします。オプション。<br><br>first\_month\_of\_year = 4 |

この例では、上の例で作成したカレンダー定義を再利用します。4 月から始まる会計年度を使用します。first\_month\_of\_year パラメータに 4 を割り当てます。このパラメータは、定義されている DayNumberOfYear 項目に影響を与えます。

この例は、上の例のサンプル データと項目定義の使用を前提としています。

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

DERIVE FIELDS FROM FIELDS OrderDate,ShippingDate USING MyCalendar;

このデータ スクリプトをリロードすると、生成された項目を OrderDate.MyCalendar.\* と ShippingDate.MyCalendar.\* という名前でシート エディタで利用できるようになります。

## 詳細を見る

* [Derive](https://help.qlik.com/ja-JP/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Derive.htm)