Я взял ваш пример данных и вытащил в CSV: http://speedy.sh/cY9d2/test.txt
Затем построил отчет, показывающий, что вы хотите: http://speedy.sh/XC4VJ/test.rpt
Я уверен, что есть более простой способ, но CrossTabs действительно создает некоторые трудности. Вот формула, которую я использовал вместе с вычисляемым членом:
(
(
GridValueAt (CurrentRowIndex, GetNumColumns - 3, 0)
-
GridValueAt (CurrentRowIndex, 0, 0)
)
/ GetTotalValueFor ("test_txt.Year")
)
* 100
Просто строка GridValueAt (CurrentRowIndex, GetNumColumns - 3, 0)
принимает последнее значение, строка GridValueAt (CurrentRowIndex, 0, 0)
принимает первое значение, а строка / GetTotalValueFor ("test_txt.Year")
- общее.
Дайте нам знать, как вы поживаете, и при необходимости мы можем предложить несколько альтернативных решений.