none
Sumas acumuladas RRS feed

  • Pregunta

  •  Buen dia estoy intentado hacer una suma acumulada de la siguiente tabla 

                                    Fila              Nodo 4 5 6
    1 46476 0.0 0.0 0.0
    2 46477 0.0 0.0 0.0
    3 46542 1.3 1.7 2.0
    4 3365 0.8 0.9 0.9
    5 3366 1.1 1.1 1.2
    6 3367 0.5 0.5 0.4
    7 3368 0.9 1.0 1.0
    8 3369 1.0 1.0 1.0
    9 3370 0.6 0.7 0.7
    10 3371 1.2 1.6 1.2
    11 35037 2.4 3.0 2.7
    12 33360 0.7 0.7 0.8
    13 3372 0.5 0.6 0.8
    14 3373 1.9 2.2 2.3
    15 3374 0.9 1.3 1.5
    16 3375 0.5 0.7 0.7

    QUIeRO hacer una consulta donde la en la columna 4 sume el valor de la primera fila mas el de la segunda y el de la tercera fila sume el que dio en la primera suma y el de la cuarta fila sume ese su valor con el que dio en la tercera fila o sea que sume con el de arriba cada columna acumulando el valor  no se como abordar esta consulta mil gracias al que me pueda ayudar


    • Editado MC BAMBAM martes, 11 de julio de 2017 20:24
    martes, 11 de julio de 2017 20:20

Respuestas

  • Hola que tal MC BAMBAM aqui te dejo un ejemplo de como ir calculando el anterior.

    Aqui mas informacion para que lo veas.

    UNBOUNDED PRECEDING

    USE tempdb
    GO
    --Creamos una Tabla
    CREATE TABLE Test(
    fila int,
    nodo int,
    [4] float)
    
    --Insertamos algunos registros
    insert into Test(fila,nodo,[4])
                values(1,46476,0.0),
    			      (2,46477,0.0),
    				  (3,46542,1.3),
    				  (4,3365,0.8),
    				  (5,3366,1.1)
    
    --Mostramos todas las filas
    select * from Test
    
    --Agregamos una columna sumando el anterior con UNBOUNDED PRECEDING
    SELECT fila,nodo,[4], 
           SUM([4]) OVER(ORDER BY Fila rows unbounded preceding) SumaAcumulativa
    FROM Test

    Como puedes ver va sumando el anterior.

    Cualquier cosa nos comentas.

    Saludos,

    Jorge Muchaypiña G.


    Business Intelligence Analyst

    • Marcado como respuesta MC BAMBAM martes, 11 de julio de 2017 21:38
    martes, 11 de julio de 2017 21:23

Todas las respuestas

  • Hola que tal MC BAMBAM aqui te dejo un ejemplo de como ir calculando el anterior.

    Aqui mas informacion para que lo veas.

    UNBOUNDED PRECEDING

    USE tempdb
    GO
    --Creamos una Tabla
    CREATE TABLE Test(
    fila int,
    nodo int,
    [4] float)
    
    --Insertamos algunos registros
    insert into Test(fila,nodo,[4])
                values(1,46476,0.0),
    			      (2,46477,0.0),
    				  (3,46542,1.3),
    				  (4,3365,0.8),
    				  (5,3366,1.1)
    
    --Mostramos todas las filas
    select * from Test
    
    --Agregamos una columna sumando el anterior con UNBOUNDED PRECEDING
    SELECT fila,nodo,[4], 
           SUM([4]) OVER(ORDER BY Fila rows unbounded preceding) SumaAcumulativa
    FROM Test

    Como puedes ver va sumando el anterior.

    Cualquier cosa nos comentas.

    Saludos,

    Jorge Muchaypiña G.


    Business Intelligence Analyst

    • Marcado como respuesta MC BAMBAM martes, 11 de julio de 2017 21:38
    martes, 11 de julio de 2017 21:23
  • Hola Jorge Muchaypiña G. muchas gracias por tu ayuda me sirvió perfectamente 
    martes, 11 de julio de 2017 21:39