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 [<fld {,fld}>]] 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 <fld>. Esses nomes de campos devem ser um subconjunto das variáveis de dimensões do gráfico.
Exemplos:
Exemplo | Resultado |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, porque esse é o único Productque 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 '|');
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 |