# TextCount - チャート関数

TextCount() は、各チャート軸に含まれる数値以外の項目値の数の集計に使われます。

構文:

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

戻り値データ型： 整数

引数

| 引数 | 説明 |
| --- | --- |
| expr | メジャーの対象となるデータが含まれている数式または項目。 |
| SetExpression | デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。 |
| DISTINCT | 関数の引数の前に DISTINCT という用語が付いている場合、関数の引数の評価から生じる重複は無視されます。 |
| TOTAL | 関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。<br><br>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) |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `TextCount(Product)` | テキスト値を持つ製品名の数を返します。 |
| `TextCount(OrderNumber)` | `OrderNumber` 項目内のテキスト値を持つ行の数を返します。<br><br>情報メモ「0」は値と見なされ、空白のセルとはなりません。ただし、メジャーの軸に対する集計結果が 0 の場合、この軸はチャートには含まれません。 空白のセルは非テキストとみなされ、`TextCount` ではカウントされません。 |
| `TextCount (DISTINCT Product)/Count(Product)` | `Product` のテキスト値の個数をすべて数え、`Product` の値の総数で除算します。 |

## 例 - TextCount の基本

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

#### チャートの数式

概要

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

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

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

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

  * `Customer`

  * `Product`

  * `OrderNumber`

ロード スクリプト

```
Set NULLINTERPRET = ' ';
Example:
LOAD * inline [
Customer|Product|OrderNumber
Astrida|AA|1
Astrida|AA|7
Astrida|BB|4
Betacab|CC|6
Betacab|AA|5
Betacab|BB|
Canutility|AA|
Canutility|CC|
Divadip|CC|2
Divadip|DD|3
](delimiter is '|');
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、次のメジャーを追加します。

* `=TextCount(Product)`、テキスト値である製品名の数を返します。

* `=TextCount(OrderNumber)`、テキスト値である注文番号の数を計算します。

* `=TextCount(DISTINCT Product)/Count(Product)`、`Product` の異なるテキスト値の合計数をカウントし、それを `Product` の値の合計数で除算します。

Results table

| TextCount(Product) | TextCount(OrderNumber) | TextCount(DISTINCT Product)/Count(Product) |
| --- | --- | --- |
| 10 | 3 | 0.4 |

`Product` の 10 個のレコードはすべてテキストであるため、最初のメジャーは `10` を返します。

空のセルはテキストとして扱われてカウントされるため、2 番目のメジャーは `3` を返します。通常、このタイプのメジャーは、数値項目にテキスト値が与えられていないか、または数値項目が空であるかどうかを確認するために使用します。

3 番目のメジャーは `0.4` を返します。この結果は、`Product` (`4`) の異なるテキスト値の合計数を `Product` (`10`) の値の合計数で除算することによって計算されます。

## 例 - TextCount のシナリオ

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

#### チャートの数式

概要

データセットには、製品別の苦情と一般的なフィードバックの両方を含む調査回答データが含まれています。テキスト値を含む応答のみを確認します。

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

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

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

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

  * `CustomerID`

  * `ProductPurchased`

  * `Complaint`

  * `Feedback`

ロード スクリプト

```
Set NullInterpret = '';
Example:
Load * Inline [
CustomerID, ProductPurchased, Complaint, Feedback
1, Laptop, Slow performance, "The laptop is slow, poor battery, slow graphics"
2, Mobile, Heating issue, "Mobile heats up, average camera"
3, Laptop, Battery problem, "Battery not working, slow to charge"
4, Tablet, Screen issue, "Screen is broken, unresponsive touch"
5, Mobile, No issues, "Excellent performance"
6, Mobile, 123, "123"
7, Laptop, ,
8, Tablet, Warranty expired,
9, Mobile, , "Contact customer service"
];
```

結果

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

* `ProductPurchased`

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

* `=TextCount(ProductPurchased)`、数値以外の値を持つ製品名の数を計算します。

* `=TextCount(Complaint)`、数値以外の値を持つ苦情の数を計算します。

* `=TextCount(Feedback)`、数値以外の値を持つフィードバック値の数を計算します。

Results table

| ProductPurchased | TextCount(ProductPurchased) | TextCount(Complaint) | TextCount(Feedback) |
| --- | --- | --- | --- |
| Laptop | 3 | 2 | 2 |
| Mobile | 4 | 2 | 3 |
| Tablet | 2 | 2 | 1 |

結果には、製品 `Laptop` には `3` 件のレコードがあり、そのうち `2` 件の苦情があり、`2` 件のフィードバックがあることがわかります。同様に、製品 `Mobile` には `4` 件のレコードがあり、そのうち `2` 件の苦情があり、`3` 件のフィードバックがあります。`ProductPurchased` 、`Complaint` 、`Feedback` 項目はテキスト値であることが予想されるため、数値または空の値はカウントされません。