---
title: マスタ形式を使って動的に変化する選択項目を設定する
description: このチュートリアルではマスタ形式の項目を使用して、動的に変化する選択項目を設定する方法について説明します。
---

## 概要
このチュートリアルでは[マスタ形式](/ja/docs/management/master/)の項目を使用して、動的に変化する選択項目を設定する方法について説明します。

### 学べること
コンテンツ定義で動的に変化する選択項目を設定する方法を学びます。

- [マスタ設定](#マスタ設定)
- [コンテンツ定義設定](#コンテンツ定義設定)
- [コンテンツ編集画面確認](#コンテンツ編集画面確認)


## マスタ設定
まずは選択肢になるkey,labelをマスタで登録します。

[コンテンツ]->[マスタ]をクリックします。  

![Image from Gyazo](https://t.gyazo.com/teams/diverta/8edefc6a674045fb0cb60020cd9ebd39.png)

[追加]をクリックします。  

![Image from Gyazo](https://t.gyazo.com/teams/diverta/6b7e6d73d241ee2528f7b94e1efdf75b.png)

マスタ編集が表示されるので、以下のように設定して[追加する]をクリックします。  

|項目   |内容  |
| :--- | :--- |
|タイトル|市区町村|
|表組み(テーブル)	|未設定で構いません|
|CSVで更新(文字コード)|作成したCSVの文字コードを選択|
|CSVで更新(ファイル)|以下の内容をcsvをファイルに保存して設定|

```csv
"city_cd","city_name","prefecture_cd","prefecture_name"
"13101","千代田区","13","東京都"
"13102","中央区","13","東京都"
"14101","横浜市鶴見区","14","神奈川県"
"14102","横浜市神奈川区","14","神奈川県"
```

![Image from Gyazo](https://t.gyazo.com/teams/diverta/6673f9dfd6561961fbbf663f196f1b3b.png)

マスタが登録されました。

![Image from Gyazo](https://t.gyazo.com/teams/diverta/7706168b582326143ca3d7e5a643eac9.png)

## コンテンツ定義設定

任意のコンテンツ定義で、マスタ形式を使用した親子の2項目を設定します。  
これにより、親項目で選択したキーを使って、子項目で選択できるキーを動的に変更します。

![Image from Gyazo](https://t.gyazo.com/teams/diverta/988a021dd98672f7833d3601e9fbf1f9.png)

**親項目**

|項目   |内容  |
| :--- | :--- |
|項目名|都道府県|
|項目設定|マスタ形式|
|選択項目(マスタ)|[マスタ設定](#マスタ設定)で作成したマスタを選択してください。|
|選択項目(キー)|キーに使用するデータの列番号(0始まり)を指定します。親項目ではprefecture_cdを使用するので`2`を設定してください。|
|選択項目(値)|ラベルに使用するデータの列番号(0始まり)を指定します。親項目ではprefecture_nameを使用するので`3`を設定してください。|
|親ID|空欄|

![Image from Gyazo](https://t.gyazo.com/teams/diverta/c19782ce10e7977e06aef8a7deeb915c.png)

**子項目**

|項目   |内容  |
| :--- | :--- |
|項目名|市区町村|
|項目設定|マスタ形式|
|選択項目(マスタ)|[マスタ設定](#マスタ設定)で作成したマスタを選択してください。|
|選択項目(キー)|キーに使用するデータの列番号(0始まり)を指定します。<br/>今回は親項目で選択されるprefecture_cd(2)で行の絞り込みを行いcity_cd(0)をキーとするので、`[2,0]`と設定します。|
|選択項目(値)|ラベルに使用するデータの列番号(0始まり)を指定します。子項目ではcity_nameを使用するので`1`を設定してください。|
|親ID|親項目として使用する拡張IDを設定します。この例では`6`を設定します。(先頭のext_は不要です)|

![Image from Gyazo](https://t.gyazo.com/teams/diverta/e59cd7e351af5df56ba9d579c846c5de.png)

:::info
- 動的に変化する選択項目の設定はマスタ形式とマスタ(チェックボックス)で使用可能です。
- 子項目のキーは`[a,b]`の形式で設定します。  
  - a:親項目で選択されたキー(prefecture_cd)と照合する列番号を指定。  
  - b:この項目自体のキーとして使用する列番号(city_cd)を指定。
  
  例えば、親項目で「東京都」(prefecture_cd="13")を選択すると、prefecture_cdの列が"13"の行のcity_cdとcity_nameのみが選択肢として表示されます。
:::

## コンテンツ編集画面確認
[コンテンツの編集](/ja/docs/management/content-structure-topics/#コンテンツの編集)
を参考に記事の編集ページにアクセスし、親項目を選択すると下記のように選択項目が動的に絞り込まれていることが確認できます。

- 親項目で東京を選択
  ![Image from Gyazo](https://t.gyazo.com/teams/diverta/0ba5cc3e5a65d11ae3ba3652d7097276.png)

- 親項目で神奈川を選択
  ![Image from Gyazo](https://t.gyazo.com/teams/diverta/18c6cf5dda3faffd8ed3158e9550be93.png)

## 関連ドキュメント
- [コンテンツ定義編集](/ja/docs/management/content-structure-topics-group/#コンテンツ定義編集)
- [コンテンツの編集](/ja/docs/management/content-structure-topics/#コンテンツの編集)




