# LookUp - スクリプト関数

Lookup() は、すでにロードされているテーブルを参照し、項目 match\_field\_name における値 match\_field\_value の最初の出現に対応する field\_name の値を返します。テーブルは、現在のテーブルまたは前にロードして別のテーブルにすることができます。

構文:

lookup(field\_name, match\_field\_name, match\_field\_value [, table\_name])

戻り値データ型： デュアル

引数：

引数

| 引数 | 説明 |
| --- | --- |
| field\_name | 戻り値が必要な項目名。 入力値は文字列として指定する必要があります (たとえば、引用符で囲まれた文字列)。 |
| match\_field\_name | match\_field\_value を検索する項目の名前。 入力値は文字列として指定する必要があります (たとえば、引用符で囲まれた文字列)。 |
| match\_field\_value | match\_field\_name 項目で検索する値。 |
| table\_name | 値を検索するテーブルの名前。入力値は文字列として指定する必要があります (例えば、引用符で囲まれた文字列)。<br><br><br>table\_name が省略されている場合は、現在のテーブルとして処理されます。 |

情報メモ引数に引用符がない場合、現在のテーブルを参照します。他のテーブルを参照するには、引数を単一引用符で囲みます。

制限事項:

連結などの複雑な操作の結果テーブルでは、検索順は明確に定義されませんが、それ以外の場合、検索はロード順に実行されます。field\_name と match\_field\_name は両方とも、table\_name で指定された同一テーブルの項目であることが必要です。

一致するものがない場合は、NULL が返されます。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterRecordFunctions/LookUp.htm)

#### 例

### ロード スクリプト

以下のデータをインライン データとしてデータロードエディタにロードして、以下の例を作成します。

```
ProductList:
Load * Inline [
ProductID|Product|Category|Price
1|AA|1|1
2|BB|1|3
3|CC|2|8
4|DD|3|2
] (delimiter is '|');
 
OrderData:
Load *, Lookup('Category', 'ProductID', ProductID, 'ProductList') as CategoryID
Inline [
InvoiceID|CustomerID|ProductID|Units
1|Astrida|1|8
1|Astrida|2|6
2|Betacab|3|10
3|Divadip|3|5
4|Divadip|4|10
] (delimiter is '|');
 
Drop Table ProductList;
```

インライン ロードの使用の詳細については、[インライン ロードを使用したデータのロード](https://help.qlik.com/ja-JP/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm) を参照してください。

### ビジュアライゼーションの作成

Qlik Sense シートにテーブル ビジュアライゼーションを作成します。項目 ProductID、InvoiceID、CustomerID、Units、CategoryID をテーブルに追加します。

### 結果

結果のテーブル

| ProductID | InvoiceID | CustomerID | ユニット: | CategoryID |
| --- | --- | --- | --- | --- |
| 1 | 1 | Astrida | 8 | 1 |
| 2 | 1 | Astrida | 6 | 1 |
| 3 | 2 | Betacab | 10 | 2 |
| 3 | 3 | Divadip | 5 | 2 |
| 4 | 4 | Divadip | 10 | 3 |

### 説明

サンプル データでは、Lookup() 関数を以下の形式で使用します。

`Lookup('Category', 'ProductID', ProductID, 'ProductList')`

ProductList テーブルが最初にロードされます。

Lookup() 関数を使用して、OrderData テーブルが構築されます。この関数では、3 番目の引数として、ProductID が指定されていますProductList の 'ProductID' (単一引用符で囲まれた 2 番目の引数) で、この項目の値が検索されます。

関数は、'Category' (ProductList テーブル) の値を CategoryID.としてロードして返します。

drop ステートメントは、不要になった ProductList テーブルをデータ モデルから削除します。結果の OrderData テーブルが残ります。

情報メモ Lookup() 関数には柔軟性があり、過去にロードしたテーブルにもアクセスできます。ただし、Applymap() 関数と比べると、処理に時間がかかります。

## 詳細を見る

* [ApplyMap - スクリプト関数](https://help.qlik.com/ja-JP/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/MappingFunctions/ApplyMap.htm)