ssrs services que parametros ocultar informe grupo expresión expresiones datos como columnas agrupar sql-server reporting-services reportbuilder

services - Llevar a cabo una operación similar a SUMIF utilizando el Generador de informes de SQL Server



parametros de un informe (4)

El tipo de datos de la columna ''kWp'' es decimal, por lo que necesita convertir el valor predeterminado a 0,00 o convertir la columna a doble

SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))

Estoy tratando de producir una suma condicional en SQL Server Report Builder 3.0.

Mi expresión se ve así:

=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))

Esperaba que esta expresión produjera una suma del kWp de todos los proyectos de tipo 2.

Lamentablemente, no es para ser. Y parece que no puedo entender por qué. Simplemente devuelve un resultado de 0, aunque sé que hay valores distintos de cero en la columna de kWp, y la columna no contiene valores nulos.

Un colega logró obtener un resultado positivo al reemplazar el

Fields!kWp.Value

con

1 * Fields!kWp.Value

Pero no tenemos idea de por qué esto funciona y, por lo tanto, no podemos confiar realmente en la respuesta.

¿Cómo puedo conseguir que esta suma condicional se comporte?


Para obtener la sum del kWp de todos los proyectos de tipo 2 , la expresión es la siguiente,

=IIf(Fields!ProjectTypeID.Value=2,sum(Fields!kWp.Value),0)

Espero que esto te ayude.


Para obtener la suma condicional puedes probar esta expresión

=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0))

Solo suma números positivos; de lo contrario, agrega 0 al total, puede hacerlo de manera inteligente.


Tuve un problema similar, esto me funcionó:

=Sum(iif(Fields!date_break.Value = "0001-01-01",Fields!brkr_fee.Value, nothing))

zb