Only() devuelve un valor si hay un solo resultado posible de los datos agregados. Por ejemplo, buscar el único producto en el que el precio por unidad sea 9 devolverá NULL si más de un producto tiene un precio por unidad de 9.
La expresión o el campo que contiene los datos que se han de medir.
SetExpression
De forma predeterminada, 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 sobre todos los valores posibles dadas las selecciones actuales y no solo aquellas que pertenecen al valor dimensional actual, es decir, no tiene en cuenta las dimensiones del gráfico.
Usar TOTAL [<fld {.fld}>], donde al cualificador TOTAL le sigue una lista de uno o más nombres de campo como un subconjunto de las variables de dimensión del gráfico, crea un subconjunto de los valores totales posibles.
Cargue los datos y abra una hoja. Cree una nueva tabla con las siguientes medidas:
=Only({<UnitPrice={9}>} Product), para calcular el único Product que tiene un UnitPrice de 9.
=Only({<Product={DD}>} Customer), para calcular el único Customer que vende un Product llamado DD.
=Only({<UnitPrice={20}>} UnitSales), para calcular el número de UnitSales donde UnitPrice es 20.
=Only({<UnitPrice={15}>} UnitSales), para calcular los valores de UnitSales donde UnitPrice = 15.
Results table
Only({<UnitPrice={9}>} Product)
Only({<Product={DD}>} Customer)
Only({<UnitPrice={20}>} UnitSales)
Only({<UnitPrice={15}>} UnitSales)
BB
Betacab
2
-
En este ejemplo, observe lo siguiente:
La primera columna devuelve el valor BB porque este es el único Product que tiene un UnitPrice de 9.
La segunda columna devuelve Betacab porque es el único Customer que vende un Product llamado DD.
La tercera columna devuelve 2 porque este es el único valor de UnitSales donde UnitPrice = 20.
La cuarta columna devuelve NULL porque no hay ningún resultado en el que UnitPrice = 15. En este conjunto de datos, hay dos valores de UnitSales en los que UnitPrice =15.
Ejemplo: escenario de Only
Descripción
Un conjunto de datos contiene las ventas de productos por periodo. La empresa quiere determinar si un producto se vende en una sola tienda o en varias.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Los siguientes campos de la tabla de datos:
Date
RecordID
StoreProduct
Sales
Script de carga
Example:
Load * inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
StoreProduct
Cree las siguientes medidas:
=Only(Store), para calcular la única tienda en la que se vende el producto.
=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store'), para calcular si el producto se vende en una sola tienda o en varias.
=Sum(Sales), para calcular el total de ventas del producto.
Los resultados indican que Apples y Bananas se venden en una sola tienda, mientras que Carrots se vende en varias tiendas.
Ejemplo: escenario avanzado para crear una tabla de registros de un solo mes
Descripción
Este ejemplo utiliza la función Only para mostrar una tabla línea por línea de los registros de un solo mes. Para lograrlo, se utiliza el análisis de conjuntos para delimitar el conjunto de registros deseado. El análisis de conjuntos requiere al menos una medida, aunque como en realidad no necesitamos agregar el conjunto de registros, podemos utilizar eficazmente la función de agregación Only para albergar el ámbito del análisis de conjuntos.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Una sentencia LOAD precedente que deriva el campo MonthYear del campo Date truncando el día del mes, utilizando la función MonthStart, y devolviendo una representación de fecha del día 1 de cada mes. Este resultado se proporciona a la función Date para ajustar el formato de visualización a MMM YY, por ejemplo, Jan 24.
Los siguientes campos de la tabla de datos:
Date
RecordID
StoreProduct
Sales
Store
Script de carga
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
MonthYear
RecordID
Date
StoreProduct
Store
Cree las siguientes medidas:
=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales), para evaluar el valor de Sales y devolver solo aquellos en los que MonthYear sea el último (más reciente) MonthYear disponible, basándose en las selecciones actuales de la tabla. La expansión de signo dólar ($) realiza un cálculo en línea utilizando la función MaxString, $(=MaxString(MonthYear)), que devuelve la representación en texto del último valor de MonthYear.
Nota informativaIntentar filtrar MonthYear basándose en la representación numérica, por ejemplo utilizando la función Max , Max(MonthYear), no daría ningún resultado. El análisis de conjuntos aplica selecciones de filtros basadas únicamente en la representación textual de cualquier tipo de datos dual; un tipo de datos con una representación numérica y textual como Date.
El resultado de salida de la función Only produce una tabla de registros que presenta por defecto el valor de venta para el último, o más reciente, MonthYear que esté disponible en los datos. Si selecciona un mes anterior en la columna MonthYear, como Feb 24, aparecerá el último valor de ventas de ese mes.
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.