У меня есть следующие данные в Spotfire, для которых я хотел бы показать относительный индекс продаж на продукт по сравнению с выбранным базовым планом.Расчет относительного индекса продаж в Spotfire по сравнению с продажами в 1 выбранном базовом плане
Как показано на рисунке выше, можно вычислить индекс по сравнению с предыдущим планом следующим над утверждением:
100 * (Sum([Sales]) - Sum([Sales]) OVER (PreviousPeriod([Axis.Columns])))/
Sum([Sales]) OVER (PreviousPeriod([Axis.Columns]))
Однако это решение имеет следующие три недостатка:
- Он сравнивает все продажи с продажами в предыдущем плане вместо одного базового плана. Изменение инструкции OVER для использования FirstNode не всегда работает, потому что данные в реальном приложении импортируются из базы данных на основе запроса. Это приводит к тому, что значение FirstNode не всегда доступно.
- Заказ планов основан на строковом значении вместо номера плана (второй символ в имени плана).
- Базовый план не подбирается. В реальном приложении создается свойство документа «SelectedPlan» (содержащее выбранное значение в выпадающем списке).
Как можно рассчитать относительный индекс продаж по сравнению с продажами одного выбранного базового плана?
почему не просто 'над ([Product])' против пытается взломать порядок ваших данных? Проблема 'FIRST NODE' будет реплицирована с помощью' MAX' и большинства агрегатов без использования функции номера строки. Можете ли вы предоставить некоторые примеры данных и ожидаемый результат? – scsimon