# Only

Only() returns a value if there is one and only one possible result from the aggregated data. For example, searching for the only product where the unit price =9 will return NULL if more than one product has a unit price of 9.

Syntax:

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

Return data type: dual

Arguments:

* expr: The expression or field containing the data to be measured.

* SetExpression: By default, the aggregation function will aggregate over the set of possible records defined by the selection. An alternative set of records can be defined by a set analysis expression.

* TOTAL: If the word TOTAL occurs before the function arguments, the calculation is made over all possible values given the current selections, and not just those that pertain to the current dimensional value, that is, it disregards the chart dimensions. The TOTAL qualifier may be followed by a list of one or more field names within angle brackets &lt;fld&gt;. These field names should be a subset of the chart dimension variables.

  [Defining the aggregation scope](https://help.qlik.com/en-US/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Tip noteUse Only() when you want a NULL result if there are multiple possible values in the sample data.

Examples:

Examples and results

| Example | Result |
| --- | --- |
| `<br>Only({<UnitPrice={9}>} Product)` | BB, because this is the only `Product`that has a `UnitPrice` of '9'. |
| `Only({<Product={DD}>} Customer)` | Betacab, because this is the only `Customer` selling a `Product` called 'DD'. |
| `Only({<UnitPrice={20}>} UnitSales)` | The number of `UnitSales` where `UnitPrice` is 20 is 2, because there is only one value of `UnitSales` where the `UnitPrice` =20. |
| `Only({<UnitPrice={15}>} UnitSales)` | NULL, because there are two values of `UnitSales` where the `UnitPrice` =15. |

**Data used in examples:**

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

Example data in table form

| Customer | Product | UnitSales | UnitPrice |
| --- | --- | --- | --- |
| Astrida | AA | 4 | 16 |
| Astrida | AA | 10 | 15 |
| Astrida | BB | 9 | 9 |
| Betacab | BB | 5 | 10 |
| Betacab | CC | 2 | 20 |
| Betacab | DD | - | 25 |
| Canutility | AA | 8 | 15 |
| Canutility | CC | - | 19 |

## Learn more

* [Set analysis and set expressions](https://help.qlik.com/en-US/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Defining the aggregation scope](https://help.qlik.com/en-US/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)