Обзор
В этом примере используется функция Only, чтобы показать построчную таблицу записей за один месяц. С этой целью используется анализ множеств, чтобы определить нужный набор записей. Для анализа множеств требуется как минимум одна мера, хотя, поскольку на самом деле не нужно агрегировать набор записей, можно эффективно использовать функцию агрегирования Only для размещения области анализа набора.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Предшествующий оператор загрузки, который получает поле MonthYear на основе поля Date путем усечения дня месяца с помощью функции MonthStart, и возвращает представление даты 1-го числа каждого месяца. Этот результат передается в функцию Date для установки формата отображения MMM YY, например Jan 24.
Следующие поля в таблице данных:
Date
RecordID
StoreProduct
Sales
Store
Скрипт загрузки
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
];
Результаты
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
MonthYear
RecordID
Date
StoreProduct
Store
Создайте следующие меры:
=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales), чтобы оценить значение Sales и вернуть только те продажи, в которых MonthYear является последним (самым последним) из доступных MonthYear, исходя из текущей выборки в таблице. Pасширение со знаком доллара ($) выполняет встроенное вычисление с помощью функции MaxString, $(=MaxString(MonthYear)), которая возвращает текстовое представление самого последнего значения MonthYear.
Примечание к информацииПопытка отфильтровать MonthYear на основе числового представления, например, с помощью функции Max , Max(MonthYear), не даст никакого результата. Анализ множества применяет выборки фильтров, основанные только на текстовом представлении любого двойного типа данных; тип данных с числовым и текстовым представлением, например 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 |
На выходе функции Only получается таблица записей, в которой по умолчанию представлена стоимость продажи для самого последнего, то есть самого недавнего, MonthYear, имеющегося в данных. Если выбрать более ранний месяц в столбце MonthYear, например Feb 24, то появится самое последнее значение продаж за этот месяц.