2011-07-18 95 views
5

Estoy tratando de calcular los totales de cada fila, así como un porcentaje del total general.Reporting Services - Cálculo de totales/porcentajes de filas en una tabla

Ahora mismo tengo una tabla como la siguiente:

Blah Col1 Col2 Col3 
----------------------------- 
ABC  1  1  1 
DEF  2  2  3 
----------------------------- 
Total 3  3  4 

y lo quiero para incluir los totales/porcentajes de este modo:

Blah Col1 Col2 Col3 Total % 
-------------------------------------------- 
ABC  1  1  1  3  30% 
DEF  2  2  3  7  70% 
-------------------------------------------- 
Total 3  3  4  10 100% 

Sé que puedo hacer los cálculos en la consulta SQL , pero el procedimiento almacenado es bastante complicado, así que me gustaría evitar eso si es posible. Entonces me pregunto si hay una manera simple de lograr esto en SSRS.

Ahora mismo solo tengo un grupo de filas para cada Blah que utilizo para calcular los totales de las columnas.

Respuesta

5

Para calcular el total, simplemente haga una suma simple usando el operador +. Para el porcentaje, puede consultar el total general usando ReportItems!ItemName.

0

Crea dos grupos, uno en una columna con los mismos datos para cada fila, y luego uno en la columna blah. agregue una fila para el grupo incomparable y haga una suma allí.

1

Puede usar funciones agregadas en Reporting Services como "SUM" y "AVG" para lograr lo que está tratando de hacer. La forma en que funciona es partes "detalle" de los grupos en las tablas de SSRS una lista de todos los datos, mientras que las partes no-detalle (como los encabezados y pies de página) de grupos se pueden utilizar para los agregados como:

=SUM(Fields!TestValue.Value) 

http://msdn.microsoft.com/en-us/library/ms159134%28v=sql.90%29.aspx

Avíseme si necesita más ayuda.

+0

¿Qué sucede si quiero sumar ciertas filas y no todas? – Si8

11

he añadido una fila de totales para mi matriz, entonces el cuadro de texto hace referencia totales (cuadro de texto 8 en mi caso) para la columna y lo hice:

Sum(Fields.FieldName.Value)/ReportItems!Textbox8.Value 

Espero que esto tenga sentido!

0

puede simplemente hacer lo siguiente: Sum (! CInt (campos TestValue.Value)) o Suma (CInt (campos DollarAmountOfCheck.Value), "DataSet1"!) en algún momento, cuando los datos que entran a través de WCF, se no acepta la función Sum() pero esto funciona bien en ese caso.

Cuestiones relacionadas