# Only

Only() retorna um valor se houver um e somente um resultado possível a partir dos dados agregados. Por exemplo, procurar o único produto em que o preço unitário =9 retornará NULL se mais de um produto tiver um preço unitário de 9.

Sintaxe:

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

Tipo de dados de retorno: dual

Argumentos:

* expr: A expressão ou campo que contém os dados a serem medidos.

* SetExpression: Por padrão, a função de agregação agregará um conjunto de registros possíveis definidos pela seleção. Um conjunto de registros alternativos pode ser definido por uma expressão de análise.

* TOTAL: Se a palavra TOTAL ocorrer antes dos argumentos da função, o cálculo é feito sobre todos os valores possíveis, dadas as seleções atuais, e não apenas sobre os pertinentes ao valor dimensional atual, isto é, desconsiderando as dimensões do gráfico. O qualificador TOTAL pode vir seguido de uma lista de um ou mais nomes de campos dentro de sinais de maior e menor que &lt;fld&gt;. Esses nomes de campos devem ser um subconjunto das variáveis de dimensões do gráfico.

  [Definindo o escopo de agregação](https://help.qlik.com/pt-BR/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)

Nota de dicaUse Only() quando desejar obter um resultado NULL, se houver vários valores possíveis nos dados de exemplo.

Exemplos:

Exemplos e resultados

| Exemplo | Resultado |
| --- | --- |
| `<br>Only({<UnitPrice={9}>} Product)` | BB, porque esse é o único `Product`que tem um `UnitPrice` de '9'. |
| `Only({<Product={DD}>} Customer)` | Betacab, porque este é o único `Customer` que vende um `Product` chamado 'DD'. |
| `Only({<UnitPrice={20}>} UnitSales)` | O número de `UnitSales` onde `UnitPrice` é 20 é 2, pois existe apenas um único valor de `UnitSales`, onde o `UnitPrice` =20. |
| `Only({<UnitPrice={15}>} UnitSales)` | NULL, pois existem dois valores de `UnitSales`, onde o `UnitPrice` =15. |

**Dados usados nos exemplos:**

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

Dados de exemplo em formato de tabela

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

## Saiba mais

* [Análise de conjunto e expressões de conjunto](https://help.qlik.com/pt-BR/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/SetAnalysis/set-analysis-expressions.htm)
* [Definindo o escopo de agregação](https://help.qlik.com/pt-BR/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/ChartFunctions/define-aggregation-scope.htm)