• A quick window function solution

    😎

    USE tempdb;

    GO

    CREATE TABLE #TotalRevenue_Investments ( [Month] INT,[Year] INT,TotalRevenue INT,Descr VARCHAR(100),Company VARCHAR(100))

    INSERT INTO #TotalRevenue_Investments

    ( Month ,

    Year ,

    TotalRevenue ,

    Descr ,

    Company

    )

    SELECT 1,2014,12,'Late Sales','US Late Sales' UNION

    SELECT 2,2014,44, 'Late Sales','US Late Sales' UNION

    SELECT 3,2014,297,'Late Sales','US Late Sales' UNION

    SELECT 4,2014,122,'Late Sales','US Late Sales' UNION

    SELECT 6,2014,5987,'Late Sales','US Late Sales' UNION

    SELECT 7,2014,20,'Late Sales','US Late Sales' UNION

    SELECT 1,2014,37750,'Late Sales','Canada Late Sales' UNION

    SELECT 2,2014,8844,'Late Sales','Canada Late Sales' UNION

    SELECT 3,2014,19349,'Late Sales','Canada Late Sales' UNION

    SELECT 4,2014,5579,'Late Sales','Canada Late Sales' UNION

    SELECT 5,2014,2411,'Late Sales','Canada Late Sales' UNION

    SELECT 6,2014,63224,'Late Sales','Canada Late Sales' UNION

    SELECT 7, 2014,29759,'Late Sales','Canada Late Sales' UNION

    SELECT 1,2014,257,'Late Sales','Latin America' UNION

    SELECT 2,2014,9,'Late Sales','Latin America' UNION

    SELECT 3,2014,11,'Late Sales','Latin America' UNION

    SELECT 4,2014,62,'Late Sales','Latin America' UNION

    SELECT 5,2014,176,'Late Sales','Latin America' UNION

    SELECT 6,2014,375,'Late Sales','Latin America' UNION

    SELECT 7,2014,44,'Late Sales','Latin America'

    SELECT

    TI.[Month]

    ,TI.[Year]

    ,TI.TotalRevenue

    ,TI.Descr

    ,TI.Company

    ,ROW_NUMBER() OVER

    (

    PARTITION BY TI.Company

    ,TI.[Year]

    ORDER BY TI.[Month]

    ) AS TI_RID

    ,SUM(TI.TotalRevenue) OVER

    (

    PARTITION BY TI.Company

    ,TI.[Year]

    ORDER BY TI.[Month]

    ROWS BETWEEN UNBOUNDED PRECEDING

    AND CURRENT ROW

    ) AS CumulativeAmountCurrentYear

    FROM #TotalRevenue_Investments TI

    DROP TABLE #TotalRevenue_Investments

    Results

    Month Year TotalRevenue Descr Company TI_RID CumulativeAmountCurrentYear

    ------ ----- ------------ ----------- ------------------ ------- ---------------------------

    1 2014 37750 Late Sales Canada Late Sales 1 37750

    2 2014 8844 Late Sales Canada Late Sales 2 46594

    3 2014 19349 Late Sales Canada Late Sales 3 65943

    4 2014 5579 Late Sales Canada Late Sales 4 71522

    5 2014 2411 Late Sales Canada Late Sales 5 73933

    6 2014 63224 Late Sales Canada Late Sales 6 137157

    7 2014 29759 Late Sales Canada Late Sales 7 166916

    1 2014 257 Late Sales Latin America 1 257

    2 2014 9 Late Sales Latin America 2 266

    3 2014 11 Late Sales Latin America 3 277

    4 2014 62 Late Sales Latin America 4 339

    5 2014 176 Late Sales Latin America 5 515

    6 2014 375 Late Sales Latin America 6 890

    7 2014 44 Late Sales Latin America 7 934

    1 2014 12 Late Sales US Late Sales 1 12

    2 2014 44 Late Sales US Late Sales 2 56

    3 2014 297 Late Sales US Late Sales 3 353

    4 2014 122 Late Sales US Late Sales 4 475

    6 2014 5987 Late Sales US Late Sales 5 6462

    7 2014 20 Late Sales US Late Sales 6 6482