Я пытаюсь использовать функцию Previous () в индикаторе отчета для отображения стрелки вверх или вниз в зависимости от того, было ли увеличение или уменьшение по сравнению с прошлым годом. Это прекрасно работает, когда данные отображаются в порядке возрастания, но при отображении в порядке возрастания функция Previous () больше не работает, она просто обрабатывает верхнюю строку как самую старую. Я создал собственный код. PercentDifference (Num, PrevNum), чтобы получить различия. Чтобы проиллюстрировать это, это таблица в SSRS. Изменение года - это вычисляемый столбец с выражением:
Financial Year Value (Year Change)
Apr 2007 - Mar 2008 30,000 0
Apr 2008 - Mar 2009 37,000 7,000
Apr 2009 - Mar 2010 42,000 5,000
Apr 2010 - Mar 2011 38,000 (4,000)
Это работает нормально, так как строка 2 «видит» Current-Previous как 37000-30000. Однако при отображении по дате по убыванию, так что я получаю это:
Financial Year Value (Year Change)
Apr 2010 - Mar 2011 38,000 0
Apr 2009 - Mar 2010 42,000 4,000
Apr 2008 - Mar 2009 37,000 (5,000)
Apr 2007 - Mar 2008 30,000 (7,000)
Поскольку строка 2 видит Current-Previous как 42000-38000, а строка 1 не имеет понятия строки 2?!
Это должно выглядеть так:
Financial Year Value (Year Change)
Apr 2010 - Mar 2011 38,000 (4,000)
Apr 2009 - Mar 2010 42,000 (5,000)
Apr 2008 - Mar 2009 37,000 7,000
Apr 2007 - Mar 2008 30,000 0
Я не думаю, что смогу сделать это в исходном запросе к набору данных, так как это просто извлекает множество значений для отдельных дат, а затем вычисляет некоторые вычисляемые столбцы, например определить финансовый год, месяц и т. д. В приведенных выше таблицах приведены суммы отчетности, сгруппированные по годам.
Есть идеи, как мне это сделать?
Большое спасибо,