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 añada el script de carga inferior en una nueva sección.
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.
Results tableMonthYear | RecordID | Date | StoreProduct | Only({$<MonthYear={‘$(=MaxString(MonthYear))’}>} Sales) |
---|
Mar 24 | 7 | 2024-03-10 | Apple | 110 |
Mar 24 | 8 | 2024-03-22 | Banana | 85 |
Mar 24 | 9 | 2024-03-31 | Carrot | 55 |
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.