reporting-services - reporte - parametros en report builder
Agregar valores a un Informe cuando no hay Datos en consulta SSRS (1)
Tengo una consulta que devuelve Número de representantes de ventas, Categoría, Ventas.
El resultado es algo como esto:
Hay 4 categorías llamadas G1,G2,G3,G4
.
Como puede ver, el representante de ventas 11
vendió 10 categorías (filas amarillas). Pero el Representante 12
solo se vendió para la categoría G3
y G4
.
La idea es mostrar en el informe todas las categorías y poblar con 0 todos aquellos que no vendieron en esa categoría en particular.
Debe estar agrupado por Representante de ventas, por lo que si hace una agrupación tablix por Representantes de ventas, tendrá algo como esto:
Pero quieres algo como esto:
¿Hay alguna expresión que pueda usar para agregar estos?
Lo que hice hasta ahora es crear un grupo, ese grupo por supuesto son mis representantes de ventas y combinar las celdas para esa columna y creo un grupo de filas para cada categoría, es algo como esto:
Pero si ejecuta ese informe, repetirá todas las categorías G1, G2 ... Por cada vez que exista esa categoría para ese Representante de ventas en particular.
Otro problema es, ¿cómo se puede evaluar La categoría codificada en su informe si no existe en su fuente de datos no se puede hacer Iif("G1" = Fields!Category.Value,Fields!Sales.Value,"0")
como usted no comparando G1
con Null
o IsNothing
, está comparando lo que existe.
Creo que puede lograr esto sin problemas utilizando T-SQL en el nivel de consulta. No sé por qué no utilizas la forma más sencilla de aplicar este tipo de lógica, ya que en T-SQL puedes usar casi todas las lógicas.
Sin embargo, me gustan este tipo de desafíos, así que vengo con esta posible solución.
Este es mi conjunto de datos de muestra:
En el conjunto de datos de SSRS (no en T-SQL) agregué un campo calculado llamado Another
Otro campo está configurado a la expresión siguiente:
=Fields!SalesRep.Value & "-" & Fields!Category.Value
He agregado una tablix con la siguiente disposición de datos
Como mencioné antes, el campo categoría está codificado, la columna derecha con Sales
está configurada en esta expresión:
=iif(IsNothing(lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7")),0,
lookup(Fields!SalesRep.Value & "-" & ReportItems!Textbox62.Value,
Fields!Another.Value,Fields!Sales.Value,"DataSet7"))
Nota:
ReportItems!Textbox62.Value
corresponde al cuadro de texto dondeG1
estaba codificado. Debe reemplazar la referencia del cuadro de texto por la correspondiente en su tablix para cada categoría.
Se previsualizará el tablix a continuación.
Avíseme si esto fue útil.