# TextCount - chart function

TextCount() is used to aggregate the number of field values that are non-numeric in each chart dimension.

Syntax:

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

Return data type: integer

Arguments:

Arguments

| Argument | Description |
| --- | --- |
| expr | The expression or field containing the data to be measured. |
| SetExpression | By default, the aggregation function<br>will aggregate over the set of possible records defined by the selection.<br>An alternative set of records can be defined by a set analysis<br>expression. |
| DISTINCT | If the word<br>DISTINCT occurs before the function<br>arguments, duplicates resulting from the evaluation of the function arguments are disregarded. |
| TOTAL | If the word<br>TOTAL occurs before the function<br>arguments, the calculation is made over all possible values given<br>the current selections, and not just those that pertain to the current dimensional value, that is, it disregards the chart dimensions.<br><br>By using TOTAL [&lt;fld {.fld}&gt;], where the TOTAL qualifier is followed by a list of one or more field names as a subset of the chart dimension variables, you create a subset of the total possible values.<br><br>[Defining the aggregation scope](https://help.qlik.com/en-US/sense/May2025/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Examples and results:

Data

| Customer | Product | OrderNumber | UnitSales | Unit Price |
| --- | --- | --- | --- | --- |
| Astrida | AA | 1 | 4 | 16 |
| Astrida | AA | 7 | 10 | 15 |
| Astrida | BB | 4 | 9 | 1 |
| Betacab | BB | 6 | 5 | 10 |
| Betacab | CC | 5 | 2 | 20 |
| Betacab | DD |  |  | 25 |
| Canutility | AA |  |  | 15 |
| Canutility | CC |  |  | 19 |
| Divadip | AA | 2 | 4 | 16 |
| Divadip | DD | 3 |  | 25 |

Examples and results

| Example | Result |
| --- | --- |
| `TextCount([Product])` | 10 because all of the 10 fields in Product are text.<br><br>Information note"0" counts as a value and not an empty cell. However, if a measure aggregates to 0 for a dimension, that dimension will not be included in charts. Empty cells are evaluated as being non text and are not counted by TextCount. |
| `TextCount([OrderNumber])` | 3, because empty cells are counted. Typically, you would use this to check that no numeric fields have been given text values or are non-zero. |
| `TextCount (DISTINCT [Product])/Count([Product)]` | Counts all the number of distinct text values of Product (4), and divides it by the total number of values in Product (10). The result is 0.4. |

Data used in example:

`Temp:` `LOAD * inline [` `Customer|Product|OrderNumber|UnitSales|UnitPrice` `Astrida|AA|1|4|16` `Astrida|AA|7|1|15` `Astrida|BB|4|9|9` `Betacab|CC|6|5|10` `Betacab|AA|5|2|20` ` Betacab|BB|||| 25  ` `Canutility|AA|||15` `Canutility|CC|||19` `Divadip|CC|2|4|16` `Divadip|DD|3|1|25` `] (delimiter is '|');`