# Only

Only() devuelve un valor si hay únicamente un resultado posible en los datos agregados. Por ejemplo, al buscar el único producto donde el precio de unidad es = 9 devolverá un valor NULL en caso de que más de un producto tenga un precio de unidad de 9.

Sintaxis:

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

Tipo de datos que devuelve: dual

Argumentos:

* expr: La expresión o el campo que contiene los datos que se han de medir.

* SetExpression: Por defecto, la función de agregación agregará sobre el conjunto de registros posibles definidos por la selección. Se puede definir un conjunto alternativo de registros mediante una expresión de análisis de conjuntos.

* TOTAL: Si la palabra TOTAL aparece antes de los argumentos de la función, el cálculo se realiza con todos los valores posibles dadas las selecciones actuales, y no solo con los que pertenecen al valor dimensional actual, es decir, ignora las dimensiones del gráfico. El cualificador TOTAL puede ir seguido de una lista con uno o más nombres de campo entre paréntesis angulares &lt;fld&gt;. Estos nombres de campo deberían ser un subgrupo de las variables de dimensión del gráfico.

  [Definir el ámbito de agregación](https://help.qlik.com/es-ES/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Nota de sugerenciaUse Only() cuando desee un resultado NULL si hay varios valores posibles en los datos de muestra.

Ejemplos:

Ejemplos y resultados

| Ejemplo | Resultado |
| --- | --- |
| `<br>Only({<UnitPrice={9}>} Product)` | BB, porque este es el único `Product`que tiene un `UnitPrice` de "9". |
| `Only({<Product={DD}>} Customer)` | Betacab, porque éste es el único `Customer` que vende un `Product` denominado 'DD'. |
| `Only({<UnitPrice={20}>} UnitSales)` | El número de `UnitSales` donde `UnitPrice` es 20 es 2, porque solo hay un valor de `UnitSales` donde `UnitPrice` = 20. |
| `Only({<UnitPrice={15}>} UnitSales)` | NULL, porque hay dos valores de `UnitSales` donde `UnitPrice` = 15. |

**Datos utilizados en los ejemplos:**

`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 '|');`

Datos de ejemplo en forma de tabla

| 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 |

## Más información

* [Análisis de conjuntos y expresiones de conjunto](https://help.qlik.com/es-ES/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definir el ámbito de agregación](https://help.qlik.com/es-ES/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)