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 [<fld {,fld}>]] 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 <fld>. Estos nombres de campo deberían ser un subgrupo de las variables de dimensión del gráfico.
Ejemplos:
Ejemplo | Resultado |
---|---|
Only({<UnitPrice={9}>} Product) |
BB, porque este es el único Productque 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 '|');
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 |