2017-02-02 2 views
0
ReportingCategory Title SubtotalGroup GroupBreakCon Actual 
Income Statement new BI INCOME 1 0 NULL 
Income Statement new BI Levy income NULL 0 -483541.57 
Income Statement new BI Levy income NULL 0 -657131.06 
Income Statement new BI Levy income NULL 0 -184526.04 
Income Statement new BI Levy income NULL 0 -338064.92 
Income Statement new BI Levy income NULL 0 -110019.3 
Income Statement new BI Levy income NULL 0 -529367.5 
Income Statement new BI Levy income NULL 0 -22501.73 
Income Statement new BI Levy income NULL 0 -123021.98 
Income Statement new BI Levy income NULL 0 -9927.83 
Income Statement new BI Levy income NULL 0 -95300.19 
Income Statement new BI Levy income NULL 0 -135235.24 
Income Statement new BI Levy income NULL 0 -439673.25 
Income Statement new BI Levy income NULL 0 -41530.53 
Income Statement new BI Levy income NULL 0 -394361.39 
Income Statement new BI Levy income NULL 0 -902.5 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 -7.72 
Income Statement new BI Levy income NULL 0 -11961.34 
Income Statement new BI Levy income NULL 0 -60589.64 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 -3828.74 
Income Statement new BI Levy income NULL 0 -143189.58 
Income Statement new BI Levy income NULL 0 -800950.83 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 580.27 
Income Statement new BI Levy income NULL 0 -78141.85 
Income Statement new BI Levy income NULL 0 -358986.95 
Income Statement new BI Consultancy Fees NULL 0 -15000 
Income Statement new BI  1 0 NULL 
Income Statement new BI OTHER INCOME 1 100000000 NULL 
Income Statement new BI  1 100000000 NULL 
Income Statement new BI TOTAL INCOME 3 200000000 NULL 

Это часть моего набора данных. фактический столбец создается с использованием суммы транзакций из другой таблицы. Мне нужно показать здесь, что если заголовок пуст (а не NULL), то Actual должен показать сумму всего, что имеет тот же GroupBreakCon.расчет и ввод значений в таблицу результатов

Также вы можете увидеть ИТОГО ДОХОДА в последней строке. Фактический должен показывать сумму как итогов подгруппы, вычисленных выше.

Если мы возьмем пример выше, то результат должен быть таким

ReportingCategory Title SubtotalGroup GroupBreakCon Actual 
Income Statement new BI INCOME 1 0 NULL 
Income Statement new BI Levy income NULL 0 -483541.57 
Income Statement new BI Levy income NULL 0 -657131.06 
Income Statement new BI Levy income NULL 0 -184526.04 
Income Statement new BI Levy income NULL 0 -338064.92 
Income Statement new BI Levy income NULL 0 -110019.3 
Income Statement new BI Levy income NULL 0 -529367.5 
Income Statement new BI Levy income NULL 0 -22501.73 
Income Statement new BI Levy income NULL 0 -123021.98 
Income Statement new BI Levy income NULL 0 -9927.83 
Income Statement new BI Levy income NULL 0 -95300.19 
Income Statement new BI Levy income NULL 0 -135235.24 
Income Statement new BI Levy income NULL 0 -439673.25 
Income Statement new BI Levy income NULL 0 -41530.53 
Income Statement new BI Levy income NULL 0 -394361.39 
Income Statement new BI Levy income NULL 0 -902.5 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 -7.72 
Income Statement new BI Levy income NULL 0 -11961.34 
Income Statement new BI Levy income NULL 0 -60589.64 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 -3828.74 
Income Statement new BI Levy income NULL 0 -143189.58 
Income Statement new BI Levy income NULL 0 -800950.83 
Income Statement new BI Levy income NULL 0 0 
Income Statement new BI Levy income NULL 0 580.27 
Income Statement new BI Levy income NULL 0 -78141.85 
Income Statement new BI Levy income NULL 0 -358986.95 
Income Statement new BI Consultancy Fees NULL 0 -15000 
Income Statement new BI  1 0 -5037181 
Income Statement new BI OTHER INCOME 1 100000000 NULL 
Income Statement new BI  1 100000000 0 
Income Statement new BI TOTAL INCOME 3 200000000 -5037181 

пожалуйста, может кто-то посоветует, как это может быть достигнуто.

+0

Попробуйте написать 'С ROLLUP' запросом к суммировать итоги - см. [образец снимка экрана] (https://i.stack.imgur.com/bDmaC.png). Дополнительная информация о [Technet] (https://technet.microsoft.com/en-us/library/bb522495 (v = sql.105) .aspx) и [Simple Talk] (https: //www.simple-talk. ком/SQL/T-SQL-программирование/вопросы-о-куба накопительный-и-группировка-наборы-что-вы-были слишком застенчивы к спросить /). – Serge

ответ

0

Вы могли бы попытаться рассчитать итоги за GroupbreakCon первого и использовать это:

;with totals as 
(
    select GroupBreakCon, sum(actual) as Subtotal 
    from Income_Statement 
    group by GroupBreakCon 
) 
select ReportingCategory, Title, case when len(Title) = 0 then Actual else (select subtotal from totals where GroupBreakCon = i.GroupBreakCon) end as calculated_actual 
from Income_Statement 

По умолчанию отказ от ответственности: этот код не тестировался, используйте на свой страх и риск

Смежные вопросы