Вот отчет:
Вот как я получил проценты для столбца «% изменений за последний год».
=((Last(Fields!Quantity.Value,"Child") - First(Fields!Quantity.Value)) / First(Fields!Quantity.Value))`
= ((54675 - 55968)/55968 ) = -2.31%'
= ((54675 - 57849)/57849) = -5.49%'
В этом случае всегда будет браться первый год «2012» и получать проценты по отношению друг к другу. Если я введу 2005,2004,2003,2002,2001 годы, он всегда будет брать первый год и делать проценты по отношению к каждому дополнительному году. 2005-2004, 2005-2003, 2005-2002 и так далее. У меня может быть до 2 столбцов (год) для многих столбцов.
Мне нужно сделать это для итогов и промежуточных сумм, но это не сработает, потому что это другая область.
data is = row Child group
Sub Total: = row Parent group
Total: = row Total group
Year = Column Period group
Использование запроса для получения результата.
SELECT MEMBERSHIP_CODE
, PERIOD, COUNT(DISTINCT ID) AS Distinct_ID
, SUM(QUANTITY) AS Quantity
, '01-Personal' AS Child
, '01-Overall' AS Parent
, 'Total' as Total
FROM vf_Sshot AS vfs
INNER JOIN vProd AS vP ON vfs.PRODUCT_CODE = vP.PRODUCT_CODE
INNER JOIN vMem_Type vMT on vMT.Member_Type = vfs.Member_Type
WHERE (PERIOD IN ( (SELECT Val from dbo.fn_String_To_Table(@Periods,',',1))))
AND (vMT.MEMBER_TYPE NOT IN ('a','b','c'))
AND (vfs.STATUS IN ( 'A', 'D', 'C'))
AND (MEMBERSHIP_CODE NOT IN ('ABC', 'DEF' ))
and vP.PROD_TYPE in ('DUE','MC','SC')
and vMT.Member_Record = '1'
GROUP BY MEMBERSHIP_CODE, PERIOD
Любые идеи?
Как бы я произвел этот вывод?
ИТОГО: 57 573 58 941 57 573 61 188 57 573 61 175 57 175