2011-04-20 12 views
6

La fila de detalle en mi tabla contiene una columna con una expresión:
= suma (campos one.Value!)/Sum (campos two.Value!)una columna de expresiones en SSRS

quiero sume esa columna, pero los resultados que obtengo no son la suma de las razones, sino la relación de las sumas. Por ejemplo:

 
    sum(Fields!one.Value) sum(Fields!two.Value) ratio 
       3      6    0.5 
       3      6    0.5 
total:  6      12    0.5 

Me gustaría que el valor en la esquina inferior derecha de ser la suma de los valores por encima de ella (es decir, 1,0), no la relación de los valores a la izquierda de la misma. He intentado calcular la suma como:
sum (suma (Fields! One.Value)/sum (Fields! Two.Value)),
pero eso también da la respuesta de 0.5.

¿Alguien tiene alguna idea?


[No me dejaba publicar mi propia respuesta durante 24 horas, por lo que aquí está:]

bien, me di cuenta de una manera de hacerlo. Agregué otra columna a la derecha de la columna de relación y establecí su visibilidad a "no visible". En la fila de detalles, agregué esta expresión:
= runningValue (sum (Fields! One.Value)/sum (Fields! Two.Value), Sum, "table1_grp")
(table1_grp era el grupo que estaba dentro de) Luego, en la fila total, en la columna de relación, simplemente copié el valor del cuadro de texto runningValue. En otras palabras, la expresión allí era:
= ReportItems! Textbox55.Value
Por lo tanto, la suma continua es invisible en la tabla, pero utilizo el valor final en la fila total.

Y solo me llevó 3 días darme cuenta. ¡Uf!


ACTUALIZACIÓN:

me mostró el problema y "solución" a un colega y tenía una solución mucho más elegante:

En la caja en total, utilizar la siguiente expresión:

= suma (suma (Fields! One.Value, "table1_grp")/sum (Fields! Two.Value, "table1_grp"))

Básicamente, agregar el alcance a las sumas internas es suficiente.

+0

has intentado ** = RunningValue ((sum (Fields! One.Value)/sum (Fields! Two.Value)), Sum, Nothing) ** –

Respuesta

0

Prueba Sum ((Fields! One.Value/Fields! Two.Value)).

+0

Lo probé y no funcionó - me dio la suma de las razones para todos los datos subyacentes (sin sumar los campos primero). Esto dio como resultado una respuesta de 2.0. – Garius

0

También puede agregar un campo calculado en su conjunto de datos que crea la relación. Agregue este campo de datos en lugar de la expresión directamente en el campo. Luego puede hacer que se totalice haciendo clic con el botón derecho y seleccionando agregar total

Haga clic derecho en su conjunto de datos, seleccione Agregar campo calculado, asígnele un nombre, agregue su expresión aquí. Entonces Ratio será una selección que puede agregar a su tabla como un campo real en lugar de una expresión y luego puede sumarlo. Espero que esto tenga sentido.

Cuestiones relacionadas