tablas tabla ssrs services matriz formato entre dinamicas dinamica diferencia ssrs-2008 reporting-services

ssrs-2008 - services - ssrs tabla dinamica



Visualización de valores vacíos o nulos en cuadros de texto SSRS (9)

¿Llamar a una función personalizada?

http://msdn.microsoft.com/en-us/library/ms155798.aspx

Siempre se puede poner un sttt de caso allí para manejar diferentes tipos de datos "en blanco"

Usando SSRS (2008), cuál es la mejor manera que ha encontrado para manejar valores nulos o vacíos y reemplazarlos con otra cosa para mostrar. Las soluciones bastante obvias es

=IIF(IsNothing(Fields!MyField.Value),"NA",Fields!MyFields.Value)

Eso funciona aunque es tedioso, mi esperanza era encontrar algo como una propiedad de texto vacío en el cuadro de texto pero, por desgracia, nada. ¿Algunas ideas? ¿Debo hacer un elemento de informe personalizado desde la base TextBox que crea esta propiedad?


Aunque probablemente no sea mejor que su solución, puede ajustar su T-SQL para obtener el mismo resultado usando COALESCE:

SELECT MyField = COALESCE(table.MyField, " NA")

El razonamiento para el espacio adicional antes de NA es permitir que la clasificación coloque los resultados de NA en la parte superior. Dado que sus datos pueden variar, puede que no sea una buena opción.


Estoy de acuerdo en realizar el reemplazo en el lado de SQL, pero usar la función ISNULL sería lo que haría.

SELECT ISNULL(table.MyField, "NA") AS MyField

Por lo general, hago tanto procesamiento de datos en nuestros servidores SQL e intento hacer la menor manipulación de datos en SSRS como sea posible. Esto se debe principalmente a que mi servidor SQL es considerablemente más poderoso que mi servidor SSRS.


No estoy de acuerdo con convertirlo en el lado del servidor. Si lo hace, volverá como un tipo de cadena en lugar de un tipo de fecha con todo lo que conlleva (por ejemplo, se ordenará como una cadena)

Mi principio al tratar con fechas es mantenerlas escritas como una fecha por el tiempo que pueda.

Si se enfrenta a un cuello de botella en el rendimiento del servidor de informes, hay mejores maneras de manejarlo que comprometer su lógica.


No pude hacer que IsNothing() comportara y no quería crear filas ficticias en mi dataset (por ejemplo, para una lista dada de clientes crear un pedido ficticio por mes) y noté que los valores nulos se mostraban como -247192.

He aquí que usar eso funcionó para suprimirlo (al menos hasta que MSFT cambie SSRS para mejorarlo desde 08R2), así que perdóname, pero:

=iif(Fields!Sales_Diff.Value = -247192,"",Fields!Sales_Diff.Value)


Prueba esto

=IIF(IsNothing(Fields!MyField.Value)=TRUE,"NA",Fields!MyFields.Value)


Tuve una situación similar pero lo siguiente funcionó mejor para mí ..

=Iif(Fields!Sales_Diff.Value)>1,Fields!Sales_Diff.Value),"")


Ya sea en SQL o en el código del informe (según la sugerencia de la función de adolf garlic)

En este momento en el tiempo, lo haría en el informe. Tengo muy pocos informes contra un servidor OLTP ocupado y un servidor de informes insuficiente. Si tuviera una mezcla diferente lo haría en SQL.

De cualquier manera es aceptable ...


=IIF(ISNOTHING(CStr(Fields!MyFields.Value)) or CStr(Fields!MyFields.Value) = "","-",CStr(Fields!MyFields.Value))

Usa esta expresión para obtener la respuesta.

Aquí CStr es una función predeterminada para manejar tipos de datos String.