Cuando se crean Informes en SQL Repoting Services que extraen una gran cantidad de información de la Base de Datos de CRM, uno quisiera poder utilizar la funcionalidad de Microsoft Dynamics CRM de Pre-Filtrar la información antes de ejecutar el Informe como se realiza en una Búsqueda Avanzada.

Filtro de Información usando “CRMAF_FilteredEntity”

Para habilitar el Filtrado de la Información que se va a enviar a Informe de Reporting Services, se debe colocar un Alias “CRMAF_” antes del nombre de entidad. Por ejemplo un query a Cuentas quedaría de la siguiente manera:

SELECT * FROM FilteredAccount AS CRMAF_FilteredAccount

Al realizar esta modificación la interfaz de Búsqueda Avanzada se activa al momento de ejecutar el Informe cuando este es ejecutado desde Microsoft Dynamics CRM.

Cuando un Informe contiene múltiples DataSets, esta funcionalidad solo se activa para el DataSet y/o Query Principal.

Filtro de Información usando “Dynamics SQL”

Cuando se usa SQL Dinámico, el Filtrado de la Información es habilitado creando un parámetro oculto llamado CRM_FilteredEntity y usando este Parámetro en el query de SQL dinámico.

DECLARE @SQL nvarchar(4000)

SET @SQL = ‘

SELECT * FROM (‘+@CRM_FilteredAccount+’) AS FA’

EXEC (@SQL)

Filtro de Información en Sub-Reportes

Para pasar el mismo filtro de datos a un Sub-Reporte, al momento de llamar el Sub-Reporte se debe pasar el parámetro CRM_FilteredEntity (por ejemplo CRM_FilteredAccount) y en el query del Sub-Reporte se debe utilizar SQL dinamico usando en el query el parametro que fue pasado desde el Informe Principal.

Mostrar Resumen de Filtros Utilizados

Para agregar el Resumen de los Filtros Utilizados a un Informe se debe:

  1. Crear un Parámetro Oculto llamado CRM_FilterText
  2. Agregar un Cuadro de Texto al Informe que tenga como valor =Parameters!CRM_FilterText.Value

Se puede crear una condición en la Propiedad de Visibilidad del Cuadro de Texto para que se muestre el valor únicamente cuando el Parametro CRM_FilterText contenga datos.

Filtros por defecto

Cuando en Microsoft Dynamics CRM se publica un Informe que tiene habilitado el filtro de información, se puede definir un filtro por defecto. Si el filtro por defecto no es definido, automáticamente el sistema define como filtro a todos los registros de la entidad modificado en los últimos 30 días.