Ir para conteúdo principal Pular para conteúdo complementar

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:  

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.

Definindo o escopo de agregação

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

Exemplos e resultados:  

Dados
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 e resultados
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 '|');

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!