2016-10-12 7 views
0

Мой исходный текст всегда содержит данные за последние 12 месяцев. Например: текущий месяц - октябрь. Таким образом, My input source содержит данные, начиная с 1-го октября до даты. Но я хочу, чтобы сводная статистика отображалась ежедневно за последние 10 дней продаж, 30 дней продаж, 45 дней продажи на продукт в разных регионахТаблица: Как получить панель инструментов всегда отображать последние статистические данные за последние 10 дней

Я пытаюсь использовать window_avg fuction с чем-то вроде window_avg (sum (sales), first() + dateiff ('day', window_min (min ([date])) - 1, dateadd ('month', 1, window_min (min ([Date])) - 1)) * 13 , 13) что-то вроде этого. Но я не могу взломать точную логику.

Не могли бы вы предложить мне лучший способ достичь этого, а не использовать такие вычисления. Также я боюсь, если это пойдет не так, если в середине одного или двух дней отсутствуют данные.

Любая помощь приветствуется.

ответ

1

Очень простая вещь - использовать относительный фильтр даты. У вас есть пользовательский интерфейс, чтобы выбрать последние N дней.

Поместите дату на полку столбцов и установите ее на дату усечения года-месяца-дней. Поместите свою шкатулку с размерами. Поместите пилюлю даты на полку фильтра и используйте фильтр относительной даты.

Если вы делаете простой агрегат, как сумму продаж за день, это легко, и вам не нужно ничего делать. Вы также можете довольно легко создать вычисление таблицы, щелкнув правой кнопкой мыши по мере и выбрав один из быстрых табличных вычислений. Даже когда я делаю более сложные вычисления, я начинаю с быстрого вычисления таблицы, а затем начинаю редактирование.

Если вы делаете что-то вроде скользящей средней, фильтр и скользящее среднее могут взаимодействовать. Например, если я показываю 5-дневную скользящую среднюю за 30 дней, первые несколько дней не усредняются одинаково - у вас нет дней более 30 дней назад. Если это не проблема для вас, это здорово, и все готово.

Если это проблема, это будет сложнее. Я бы предложил создать второй фильтр на основе таблицы calc. Причиной является порядок операций в Таблице. Исходные данные фильтруются, затем агрегируются по базе данных, затем выполняются вычисления в таблице. Если в табличных вычислениях есть какие-либо фильтры, после этого они фильтруются. Таким образом, в основном, в моем примере, вы хотите создать фильтр в течение 35 дней на дату, а затем создать таблицу calc на дату - например, используя функцию INDEX(). Отфильтруйте функцию индекса, чтобы показать 30-дневную стоимость, тогда у вас есть скользящее среднее, которое использует 35 дней для вычисления среднего значения, но только показывает 30.