# 複数カラムでの正規化

## 手順

1. [Palette] (パレット)からtFileInputDelimited、tDenormalize、tLogRowコンポーネントをデザインワークスペースにドロップします。
2. [Row main] (行メイン)接続を使用してすべてのコンポーネントを接続します。
3. tFileInputDelimited[Basic settings] (基本設定)パネルで、非正規化するファイルのファイルパスを設定するために使われます。

   ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/Use_Case_tDenormalizeJava2.png)
4. [Row] (行)および [Field] (フィールド) [separators] (区切り文字)、[Header] (ヘッダー)を定義し、必要に応じてその他の情報を定義します。
5. ファイルスキーマは、Name、FirstName、HomeCity、WorkCityという4つのカラムで構成されています。
   ```
   Name;FirstName;HomeCity;WorkCity
   Pitt;Brad;Berverly Hills;Los Angeles
   Pitt;Brad;Paris;London
   Joli;Angelina;Berlin;Berlin
   Joli;Angelina;Berlin;Los Angeles
   Joli;Angelina;Los Angeles;Los Angeles
   Willis;Bruce;Paris;Los Angeles
   Willis;Bruce;Paris;Madrid
   Willis;Bruce;Madrid;Paris
   Willis;Bruce;Roma;Dublin
   Moore;Demi;New York;Paris
   Moore;Demi;Rio de Janeiro;Los Angeles
   ```
6. tDenormalizeコンポーネントの[Basic settings] (基本設定)で繰り返しを含むカラムを選択します。

   カラムをこのように設定することで、値がドキュメント内で複数回出現できるようにします。この例では、非正規化が実行されるカラムは*FirstName*、*HomeCity*、*WorkCity*です。
7. ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/plus_button.png)をクリックして行を追加し、非正規化するカラムを定義します。
8. Delimiterカラムで、二重引用符の間の区切り文字を定義し、連結された値を分割します。

   ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/Use_Case_tDenormalizeJava4.png)
9. ジョブを保存し、F6を押して実行します。

   非正規化された値がセミコロンで連結されます。
   ```
   |=-----+--------------------------+-------------------------+------------------------------=|
   |Name  |FirstName                 |HomeCity                 |WorkCity                       |
   |=-----+--------------------------+-------------------------+------------------------------=|
   |Joli  |Angelina;Angelina;Angelina|Berlin;Berlin;Los Angeles|Berlin;Los Angeles;Los Angeles |
   |Moore |Demi;Demi                 |New York;Rio de Janeiro  |Paris;Los Angeles              |
   |Willis|Bruce;Bruce;Bruce;Bruce   |Paris;Paris;Madrid;Roma  |Los Angeles;Madrid;Paris;Dublin|
   |Pitt  |Brad;Brad                 |Berverly Hills;Paris     |Los Angeles;London             |
   '------+--------------------------+-------------------------+-------------------------------'
   ```
10. 重複値を削除する場合は、tDenormalizeの[Basic settings] (基本設定)を開きます。
11. [Merge same value] (同じ値をマージ)チェックボックスをオンにします。
12. ジョブを再保存し、F6を押して実行します。

## タスクの結果

重複値がマージされます。

```
|=-----+---------+-----------------------+------------------------------=|
|Name  |FirstName|HomeCity               |WorkCity                       |
|=-----+---------+-----------------------+------------------------------=|
|Joli  |Angelina |Berlin;Los Angeles     |Berlin;Los Angeles             |
|Moore |Demi     |New York;Rio de Janeiro|Paris;Los Angeles              |
|Willis|Bruce    |Paris;Madrid;Roma      |Los Angeles;Madrid;Paris;Dublin|
|Pitt  |Brad     |Berverly Hills;Paris   |Los Angeles;London             |
'------+---------+-----------------------+-------------------------------'
```