# Mode - チャート関数

Mode() は、集計データで最も頻繁に登場する値 (モード値) を見つけます。Mode() 関数は、テキスト値と同様に数値も処理できます。

構文:

Mode({[SetExpression] [TOTAL [&lt;fld {,fld}&gt;]]} expr)

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

引数

| 引数 | 説明 |
| --- | --- |
| expr | メジャーの対象となるデータが含まれている数式または項目。 |
| SetExpression | デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。 |
| TOTAL | 関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。<br><br>TOTAL [&lt;fld {.fld}&gt;] (ここで、TOTAL 修飾子の後には、1 つまたは複数の項目名のリストがチャート軸変数のサブセットとして続く) を使用して、合計絞込値のサブセットを作成できます。<br><br>[集計範囲の定義](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Mode(UnitSales)` | `UnitSales` で最も頻繁に発生する値を返します。<br><br>`NULL (-)` を返します。1 つの値が他の値よりも頻繁に発生することはありません。 |
| `Mode(Customer)` | `Customer` で最も頻繁に発生する値を返します。<br><br>`NULL (-)` を返します。1 つの値が他の値よりも頻繁に発生することはありません。 |
| `Mode(TOTAL UnitSales)` | `TOTAL` 修飾子は、チャート軸を無視して、`Unitsales` で最も頻繁に発生する値を返します。 |
| `Mode({1} TOTAL UnitSales)` | set 分析数式 `{1}` は、選択された内容に関係なく、評価されるレコード セットを `ALL` として定義します。たとえば、特定の顧客を選択した場合でも、データセット全体で最も頻繁に発生する `UnitSales` の値が返されます。 |

## 例 - Mode の基本

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/mode.htm)

#### チャートの数式

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

ロード スクリプト

```
Example:
LOAD * inline [
Customer|UnitSales|UnitPrice
Astrida|4|16
Astrida|10|15
Astrida|9|9
Astrida|10|10
Betacab|5|10
Betacab|4|20
Betacab||25
Canutility|8|15
Canutility|4|19
] (delimiter is '|');
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:

* `Customer`

次のメジャーを作成します:

* `=Mode(UnitSales)`、最も頻繁に発生する `UnitSales` 値を計算します。

* `=Mode(Customer)`、最も頻繁に発生する `Customer` 値を計算します。

* `=Mode(TOTAL UnitSales)`、チャート軸を無視して、データセット全体で最も頻繁に発生する `UnitSales` 値を計算します。選択が行われると、その選択を反映して値が調整されます。

* `=Mode({1} TOTAL UnitSales)`、選択を無視して、最も頻繁に発生する `UnitSales` 値を計算します。選択が行われた場合、値は一定のままになります。

Results table

| Customer | Mode(UnitSales) | Mode(Customer) | Mode(TOTAL UnitSales) | Mode({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- |
| Totals | 4 | Astrida | 4 | 4 |
| Astrida | 10 | Astrida | 4 | 4 |
| Betacab | - | Betacab | 4 | 4 |
| Canutility | - | Canutility | 4 | 4 |

この例では、次の点に注意してください。

* 最初のメジャー (`Mode(UnitSales)`) では、顧客 `Astrida` で最も頻繁に発生する値は `10` です。`Totals` セルは `4` を返します。これは、データセット全体にわたって `UnitSales` で最も頻繁に発生する値です。`Betacab` および `Canutility` に最も頻繁に発生する値のインスタンスがないため、結果としてはこれらの顧客に対して `NULL` が返されます。

* 2 番目のメジャー (`Mode(Customer)`) では、結果として各顧客名が返されます。ただし、`Totals` セルはデータセット全体で最も頻繁に発生する顧客値であるため、`Astrida` を返します。

* 3 番目のメジャー (`Mode(TOTAL UnitSales)`) は 4 を返します。`Customer` が選択されていない場合、この列のすべてのセルには 4 が表示されます。`Betacab` などの顧客を選択した場合、`Betacab` に頻繁に発生する値がないため、この列は `NULL` を返します。

* 4 番目のメジャー (`Mode({1} TOTAL UnitSales)`) は、`Customer` 項目の選択に関係なく `4` を返します。これは、set 分析数式 `{1}` によって評価されるレコード セットが `ALL` として定義されているためです。たとえば、`Betacab` を選択した場合、この列は引き続き値 `4` を返します。

## 例 - 販売データの異常を判断する Mode のシナリオ

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/mode.htm)

#### チャートの数式

概要

データセットには、月ごとの売上高が含まれています。企業は、各製品およびデータセット全体にわたって最も頻繁に発生する売上高の値を確認したいと考えています。また、製品別の売上をデータセット全体と比較して、データ内の異常を特定したいと考えています。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `Date`

  * `Product`

  * `Category`

  * `Sales`

ロード スクリプト

```
Example:
Load * inline [
Date, Product, Category, Sales
2024-01-01, Apple, Fruit, 100
2024-01-15, Banana, Fruit, 80
2024-01-30, Carrot, Vegetable, 50
2024-02-05, Apple, Fruit, 100
2024-02-20, Banana, Fruit, 90
2024-02-28, Carrot, Vegetable, 60
2024-03-10, Apple, Fruit, 110
2024-03-22, Banana, Fruit, 80
2024-03-31, Carrot, Vegetable, 50
2024-04-10, Apple, Fruit, 125
2024-04-22, Banana, Fruit, 60
2024-04-31, Carrot, Vegetable, 80
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `Category`

* `Product`

次のメジャーを作成します:

* `=Mode(Sales)`、各製品で最も頻繁に発生する値を計算します。

* `=Mode(TOTAL Sales)`、データセット全体で最も頻繁に発生する値を計算します。

* `If(Mode(Sales) = Mode(TOTAL Sales), 'Typical', 'Atypical')`、各製品で最も頻繁に発生する値が、データセット全体の結果と比較した場合に典型的なものであるかどうかを計算します。

Results table

| Category | Product | Mode(Sales) | Mode(TOTAL Sales) | If(Mode(Sales) = Mode(TOTAL Sales), 'Typical', 'Atypical') |
| --- | --- | --- | --- | --- |
| Fruit | Apple | 100 | 80 | Atypical |
| Fruit | Banana | 80 | 80 | Typical |
| Vegetable | Carrot | 50 | 80 | Atypical |

`Mode` 関数の出力は、製品別の売上の最も頻繁に発生する値 `Mode(Sales)` と、すべての製品にわたる売上の最も頻繁に発生する値 `Mode(TOTAL Sales)` を返します。これらの 2 つの値を比較して、どの売上結果が標準的または非標準的であるかを判断します。

## 詳細を見る

* [Avg - チャート関数](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/avg.htm)
* [Median - チャート関数](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/median.htm)
* [set 分析](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [集計範囲の定義](https://help.qlik.com/ja-JP/sense/November2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)