# Min - チャート関数

Min() は、集計データの最低値を検出します。rank n を指定することで、n 番目に低い値を探し出すことができます。

ヒント メモFirstSortedValueおよび RangeMin 関数は、Min 関数と機能がよく似ています。必要に応じて、これらの解説も参照してください。

構文:

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

戻り値データ型： 数値

引数

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

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Min(UnitSales)` | `UnitSales` 項目にある null 以外の最小値を返します。 |
| `Min(UnitSales*UnitPrice)` 注文の値は、販売された個数 (`UnitSales` で) に単価を乗算して計算されます。 | (`UnitSales`)\*(`UnitPrice`) で算出されるあらゆる計算結果の null 以外の最小値を返します。 |
| `Min(UnitSales, 2)` | `UnitSales` 内の 2 番目に小さい値 (NULL 値の次) を返します。 |
| `Min(TOTAL UnitSales)` | `TOTAL` 修飾子は、チャート軸を無視して、可能な限り最小値が見つかることを意味します。`Customer` が軸に設定されているチャートで `TOTAL` 修飾子を使用すると、各顧客の最小 `UnitSales` ではなく、全データセットにおける最小値が返されます。 |
| `Min({1} TOTAL UnitSales)` | set 分析数式 `{1}` は、選択された内容に関係なく、評価されるレコード セットを `ALL` として定義します。たとえば、特定の顧客を選択した場合でも、データセット全体で最小の `UnitSales` が返されます。 |

## 例 - Min の基本

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

#### チャートの数式

概要

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

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

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

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

  * `Customer`

  * `UnitSales`

  * `UnitPrice`

ロード スクリプト

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

結果

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

* `Customer`

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

* `=Min(UnitSales)`、最小 `UnitSales` 値を計算します。

* `=Min(UnitSales*UnitPrice)`、行ごとに `UnitSales` に `UnitPrice` を乗算した後の最小値を計算します。

* `=Min(UnitSales, 2)`、2 番目に小さい値を計算します。

* `=Min(TOTAL UnitSales)`、チャート軸に関係なく、最も小さい合計を計算します。

* `=Min({1} TOTAL UnitSales)`、すべての選択を無視して、最も小さい合計を計算します。

Results table

| Customer | Min(UnitSales) | Min(UnitSales\*UnitPrice) | Min(UnitSales, 2) | Min(TOTAL UnitSales) | Min({1} TOTAL UnitSales) |
| --- | --- | --- | --- | --- | --- |
| Totals | 2 | 40 | 4 | 2 | 2 |
| Astrida | 4 | 64 | 9 | 2 | 2 |
| Betacab | 2 | 40 | 5 | 2 | 2 |
| Canutility | 8 | 120 | - | 2 | 2 |

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

* 最初のメジャー (`Min(UnitSales)`) では、顧客 `Astrida` の最も小さい `UnitSales` 値は `4` です。この列の `Totals` セルは、`2` を返します。これは、この値がデータセット全体で最も小さい `UnitSales` 値であるからです。

* 2 番目のメジャー (`Min(UnitSales*UnitPrice)`) では、`Astrida` に対して `64` が返されます。これは、`UnitSales` と `UnitPrice` を乗算したときのその顧客の最も小さい値です。この列の `Totals` セルも `40` を返します。これは、データセット全体で計算された最小値であるためです。

* 3 番目のメジャー (`Min(UnitSales, 2)`) では、顧客 `Astrida` の 2 番目に小さい `UnitSales` 値は `9` です。値 `4` は、`Totals` 行に返されます。これは、すべての顧客の中で 2 番目に小さい `UnitSales` 値であるためです。

* 4 番目のメジャー `Min(TOTAL UnitSales)` は、値 `2` を返します。これは、顧客軸に依存しない可能な限り小さい非 null 値であるため、すべての行は同じ値を返します。ただし、顧客 `Betacab` を選択した場合、テーブルにはその顧客の値のみが返されます。この場合は、`Betacab` のすべての製品の中で `UnitSales` が最も小さい `2` です。

* 5 番目のメジャー `Min({1} TOTAL UnitSales)` は、メジャーが最小合計を計算するため、`Customer` 項目で選択された値に関係なく `2` を返します。たとえば、`Betacab` を選択した場合、この列は引き続き値 `2` を返します。

## 例 - 月別の最小売上高を計算する Min のシナリオ

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

#### チャートの数式

概要

データセットには、月ごとの製品売上高が含まれています。営業マネージャーは、各製品の最小売上高と、それが発生した月を特定したいと考えています。

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

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

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

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

  * `Product`

  * `Sales`

  * `Month`

ロード スクリプト

```
Example:
Load * inline [
Product,Sales,Month
A, 500, 2024-01-01
A, 700, 2024-02-01
A, 600, 2024-03-01
B, 300, 2024-01-01
B, 800, 2024-02-01
B, 450, 2024-03-01
C, 550, 2024-01-01
C, 620, 2024-02-01
C, 710, 2024-03-01
];
```

結果

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

* `Product`

* `Month`

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

* `=If(Sales = Min(TOTAL <Product> Sales), Sales)`、各製品の最小売上高を計算します。プロパティ パネルで、 [アドオン] &gt; [データの処理] を選択します。[ゼロ値を含める] チェックボックスをクリアします。

Results table

| Product | Month | If(Sales = Min(TOTAL &lt;Product&gt; Sales), Sales) |
| --- | --- | --- |
| A | 2024-01-01 | 500 |
| B | 2024-01-01 | 300 |
| C | 2024-01-01 | 550 |

メジャーの結果は、各製品の最小売上高と、この値に達した月を返します。たとえば、` Product B  ` は、`2024-01-01` で最も小さい売上 (`300`) を記録しました。

## 詳細を見る

* [FirstSortedValue - チャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/BasicAggregationFunctions/firstsortedvalue.htm)
* [RangeMin スクリプトおよびチャート関数](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/RangeFunctions/rangemin.htm)
* [set 分析](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [集計範囲の定義](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm)