#tableau-api
#таблица-api
Вопрос:
Мой источник входного текста всегда содержит данные за последние 12 месяцев. например: текущий месяц — октябрь. Итак, мой источник ввода содержит данные, начиная с последнего октября 1st по сегодняшний день. Но я хочу, чтобы совокупная статистика отображалась ежедневно за последние 10 дней продаж, 30 дней продаж, 45 дней продаж для каждого продукта в разных регионах
Я пытаюсь использовать функцию window_avg с чем-то вроде window_avg(sum(sales), first() datediff(‘day’, window_min(min([дата])) -1, dateadd(‘month’,1, window_min(min([Дата])) -1)) * 13,13) что-то в этом роде. Но я не могу взломать точную логику.
Не могли бы вы предложить мне какой-нибудь лучший способ добиться этого, а не использовать подобные вычисления. Также я боюсь, что если что-то пойдет не так, если в середине одного или двух дней отсутствуют данные.
Любая помощь приветствуется.
Ответ №1:
Очень простая вещь — использовать фильтр относительной даты. Существует пользовательский интерфейс, позволяющий выбрать, что они длятся N дней.
Поместите дату на полку столбцов и установите для нее усечение даты из года-месяца-дней. Поместите свою полку для измерения. Также поместите таблетку с датой на полку фильтра и используйте фильтр относительной даты.
Если вы выполняете простой агрегат, например, сумму продаж за день, это легко, и вам не нужно ничего делать. Вы также можете довольно легко создать расчет таблицы, щелкнув правой кнопкой мыши на мере и выбрав одно из быстрых вычислений таблицы. Даже когда я выполняю более сложные вычисления, я начинаю с быстрого вычисления таблицы, а затем приступаю к редактированию.
Если вы используете что-то вроде скользящего среднего, фильтр и скользящее среднее могут взаимодействовать. Например, если я показываю 5-дневную скользящую среднюю за 30-дневный период, первые несколько дней не усредняются таким же образом — у вас нет дней более 30 дней назад. Если для вас это не проблема, это круто, и все готово.
Если это проблема, это будет сложнее. Я бы предложил создать второй фильтр на основе таблицы calc. Причина в порядке операций в таблице. Необработанные данные фильтруются, затем агрегируются базой данных, затем выполняются вычисления таблицы. Если есть какие-либо фильтры для табличных вычислений, то они фильтруются после этого. Итак, в основном, в моем примере вы хотите создать фильтр для 35 дней на дату, а затем создать таблицу calc на дату — например, с помощью функции INDEX() . Отфильтруйте функцию индекса, чтобы показать значение за 30 дней, тогда у вас получится скользящее среднее, которое использует 35 дней для вычисления среднего, но показывает только 30.