Only - função de gráfico
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:
Argumento | Descrição |
---|---|
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 será 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. Usando TOTAL [<fld {.fld}>], em que o qualificador TOTAL é seguido por uma lista de um ou mais nomes de campo como um subconjunto das variáveis de dimensão de gráfico, você cria um subconjunto dos valores possíveis totais. |
Exemplos e resultados:
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 |
Exemplos | Resultados |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, porque esse é o único Productque tem um UnitPrice de '9'. |
Only({<Product={DD}>} Customer) |
Betacab, porque é o único Customer vendendo 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 '|');