---
title: ルックアップテーブル拡張機能
description: この記事では、ルックアップテーブル拡張機能とその構成方法について説明します。ルックアップテーブル拡張機能は、あるデータレイヤー変数からの値を別の変数に構成するために使用されます。
url: https://docs.tealium.com/ja/iq-tag-management/extensions/extensions-list/lookup-table-extension/
---
## 前提条件

* ユニバーサルタグ (`utag.js`) 4.38 以降。`utag.js` テンプレートを更新する方法については、当社のナレッジベース記事 [utag.js の最新バージョンへの更新のベストプラクティス](https://support.tealiumiq.com/en/support/solutions/articles/36000363470) を参照してください。

## 動作原理

ルックアップテーブル拡張機能は、ルックアップ値のリストを使用して、ある変数の値を別の変数の値に基づいて構成する方法を提供します。例えば、カテゴリ名を構成する必要があるが、データレイヤーがカテゴリIDの値のみを提供する場合、ルックアップテーブル拡張機能はカテゴリIDからカテゴリ名へのマッピングを提供します。サンプルマッピングでは、カテゴリID `35` がカテゴリ名 `Tag Management` に、カテゴリID `38` がカテゴリ名 `Mobile` にマッピングされています。

ルックアップテーブル拡張機能を構成する際には、**Lookup Value In** フィールドにルックアップ変数（ソース変数）を構成し、次に **Destination** フィールドにルックアップエントリに基づいて構成したい変数を構成します。

**Variable Type** フィールドはルックアップ変数のデータタイプ（`String` または `Array`）を指定します。ルックアップ変数は **Match Type** に基づいてルックアップマッチ値と比較されます。マッチタイプは、正確なケースセンシティブな比較を使用するために **Exact** に構成されるか、文字列内の部分文字列 [文字列内の連続する文字のシーケンス] の比較を使用するために **Contains** に構成されるか、または（上級ユーザー向けに）[正規表現](http://w3schools.com/js/js_regexp.asp) パターンに構成されます。

ルックアップテーブルは、**Lookup Match** フィールドと **Output** フィールドにルックアップ値と出力値のエントリを追加することによって構成されます。上記の例から、ルックアップ値 `35` は **Lookup Match** フィールドに表示され、出力値 `Tag Management` は **Output** フィールドに表示されます。

ルックアップ変数の値がエントリと一致する場合、**Destination** 変数は **Output** 値に構成されます。

ルックアップ変数の値がエントリと一致しない場合、出力値は **Default Output** フィールドによって指定されたデフォルト値に構成されます。たとえば、これが `Unknown` に構成されている場合、ルックアップ変数の一致が見つからないときに、出力変数はデータレイヤーで `Unknown` に構成されます。

拡張機能に追加の条件を適用することができます。これは **Conditions** 構成を変更することによって行われます。

## 拡張機能の使用方法

始める前に、[拡張機能の動作方法]()について熟知してください。

ルックアップテーブル拡張機能を使用するには、次の構成を行います：

* **Lookup Value in**: ルックアップしたい値を含むデータレイヤーからソースルックアップ変数を選択します。
* **Destination**: 関連する出力値に構成する変数を選択します。新しい変数を作成するには、**+** ボタンをクリックします。
* **Variable Type**: ルックアップ変数の値のデータタイプ（文字列または配列）を選択します。配列を選択した場合、出力は対応するルックアップマッチの同じ配列インデックスに入ります。
* **Match Type**: 選択したマッチタイプを使用してすべてのルックアップが行われます。
    * **Exact**: ルックアップ変数の値と正確に一致します（大文字と小文字を区別します）。
    * **Contains**: ルックアップ変数の値の部分文字列（文字列内の連続する文字のシーケンス）と一致します。
    * **RegExp**: ルックアップ変数の値に正規表現をマッチさせます。エスケープ文字は二重バックスラッシュ `\\` でエスケープされます。大文字小文字を区別しないフラグ `i` が自動的に適用されます。

* **Lookup Match**: ルックアップ変数の値を入力します。値に引用符を使用しないでください。
* **Output**: ルックアップマッチが見つかった場合に目的の変数に構成される値を入力します。値に引用符を入力しないでください。
* **Note**: (オプション) 各ルックアップマッチと出力値に関連するメモを追加します。メモの内容は目的地には渡されません。
* **Default Output**: ルックアップマッチが見つからない場合の目的の変数のデフォルト値を入力します。デフォルト値を無効にするには、**Disable Default** チェックボックスを選択します。

### CSVからのインポート

ルックアップ変数の値と出力値の間のマッピングデータを手動で入力するのは、多くのルックアップ値がある場合には時間がかかります。別のオプションは、**Import from CVS** 機能です。これにより、コンマ区切り値 (CSV) としてフォーマットされたデータをテキストエリアボックスに貼り付けたり入力したりすることができます。データは次の形式で入力されます。各値はコンマで区切られます：

```
Lookup Value, Output Value, Note
```

`Note` 値はオプションで、空白のままにすることができます。

次の例では、5つのルックアップ/出力値のペアをマッピングに追加します：

```
38, Mobile, forums
35, Tag Management, forums
46, AudienceStream, forums
34, DataAccess, forums
48, Digital Strategy, forums
```

ルックアップテーブルのマッピングの入力が完了したら、**Replace** ボタンをクリックして、**CVS** テキストエリアからの新しいマッピングですべての既存のマッピングを置き換えるか、**Append** をクリックしてこれらの新しいマッピングを追加し、ルックアップテーブルのすべての元のマッピングを保持します。

### CSVへのエクスポート

**Export to CVS** ボタンは、`lookup.csv` というファイル名でルックアップテーブルのマッピングデータをエクスポートします。ファイルは自動的にコンピュータにダウンロードされ、Excelまたは任意のテキストエディタソフトウェアで開くことができます。

ルックアップテーブルのマッピングデータはコンマ区切り値 (CSV) としてエクスポートされ、各行は次の形式で1つのエントリです：

```
Lookup Value, Output Value, Note
```

少なくとも1つのマッピング行が存在している必要があります。成功したエクスポートを実行するためには、オプションの **Note** フィールドが空白の場合、その行には **Lookup Value** と **Output Value** のみが表示されます。すべてのフィールドが空白の場合、データはエクスポートされません。次の例は、上記の Import to CVS の例からマッピングをエクスポートする際の `lookup.csv` ファイルの内容を示しています：

```
38, Mobile, forums
35, Tag Management, forums
46, AudienceStream, forums
34, DataAccess, forums
48, Digital Strategy, forums
```

## 例：カテゴリIDを名前にマッピングする

ルックアップテーブル拡張機能を使用すると、次の例に示すように、`category_id` などのデータレイヤー変数を `category_name` などの別の変数にマッチさせることができます：

1. **Lookup Value in** ドロップダウンメニューからルックアップ変数 `category_id` を選択します。
1. **Destination** ドロップダウンメニューから読み取り可能な値変数 `category_name` を選択します。ドロップダウンメニューに変数が見つからない場合は、**+** をクリックして変数を追加します。
1. **Default Output** フィールドに `none` を入力します。ルックアップテーブルマッピングで `category_id` の値が見つからない場合、`category_name` の値は `none` に構成されます。
1. **Variable Type** で **String** を選択します。変数 `category_id` はカテゴリごとに1つのIDのみを含むためです。
1. 正確なカテゴリIDを知っている場合は、**Match Type** で **Exact** を選択します。
1. 次の手順を繰り返して、各ルックアップ変数のルックアップ/出力値マッピングを作成し、各カテゴリIDを読み取り可能なカテゴリ名値にマッピングします：
    1. **Lookup Match** フィールドにカテゴリIDを入力します。たとえば `38`。
    1. **Output** フィールドにカテゴリ名を入力します。たとえば `Mobile`。
    1. (オプション) **Note** フィールドに関連するメモを追加します。
    1. **+** ボタンをクリックして別のルックアップ/出力値を追加します。

![](https://docs.tealium.com/images/iq-tag-management/screen-shot-2020-03-12-at-10.23.12-am.png)

ルックアップテーブル拡張機能が実行されると、ルックアップが出力値と一致する場合、`category_id` 変数の出力値が構成された値で `category_name` 変数が構成されます。たとえば、`category_id` が `46` の場合、`category_name` は `AudienceStream` に構成されます。

## FAQ


#### ルックアップ変数がテーブル内の複数の値と一致した場合はどうなりますか？

A: ルックアップは拡張子に表示される順番で実行され、最初に一致したものが採用されます。

#### "Exact"マッチタイプは大文字と小文字を区別しますか？

A: はい。`Exact` マッチオプションは大文字と小文字を区別します。
