Ejemplos de informes

From SinergiaCRM - Wikisuite
Jump to navigation Jump to search

Contents

Introducción

Para facilitar el aprendizaje del uso del módulo de informes, SinergiaCRM incorpora una colección de informes prediseñados que pueden servir como referencia a las entidades usuarias, ya sea para su réplica o adaptación, ya sea como fuente de inspiración. Este conjunto de informes está disponible por defecto en las instancias CRM de todas las entidades.

Los informes propuestos, de diferentes niveles de complejidad, pretenden reflejar situaciones comunes en el día a día de las diferentes áreas de trabajo de las entidades usuarias con independencia de su ámbito de actividad: la generación de listados basados en determinados criterios, la consolidación y el cálculo de indicadores, etc.

Algunas cuestiones a tener en cuenta:

1) La disponibilidad de esta colección de informes en las instancias de SinergiaCRM es totalmente compatible con la generación por parte de la entidad usuaria de cuantos nuevos informes considere conveniente, incluyendo la aplicación de roles, grupos de seguridad, etc.

2) A efectos de su adaptación a las necesidades concretas de la entidad, se recomienda empezar duplicando el informe de ejemplo y realizar las modificaciones sobre el duplicado, de modo que siempre sea posible disponer del ejemplo original. Además, cabe tener presente que estos ejemplos pueden ser modificados en actualizaciones posteriores.

3) Todos los informes permiten la exportación a CSV de los registros que aparecen en el listado, así como la ordenación y filtrado por cualquiera de los campos disponibles.

4) Las capturas que aparecen a lo largo del artículo muestran datos procedentes de un entorno de demostración por lo que deben tomarse como meramente ilustrativas.

Nota: En la actualización del CRM de fecha 17/03/2020 se retiraron de las instancias los informes de ejemplo relativos a la evolución de altas y bajas por tipos de relación en personas y organizaciones, que potencialmente podían bloquear el CRM en instancias con un gran volumen de datos. Se procederá a rediseñar estos informes de modo que no generen problemas de rendimiento.


Personas y Relaciones con Personas

Datos básicos de personas

  • Módulo base: Personas
  • Campos que muestra: datos de contacto y sociodemográficos.
  • Filtros: tipo de relación actual, edad, género.
  • Gráficos: perfil sociodemográfico (distribución por edad y por género, idioma preferente, etc.).
  • Particularidades: incorpora el cálculo del Rango de edad.
  • Nivel: básico

Informes01a.jpg


Datos básicos de relaciones con personas

  • Módulo base: Relaciones con Personas
  • Campos que muestra: tanto de la relación como tal (fechas de alta y baja, tipo de relación, etc.) como de las personas a las que se refieren las relaciones y de los proyectos en los que participan.
  • Filtros: tipo de relación, fechas de alta y de baja, motivos de baja.
  • Gráficos: tipo de relación Activa, proyecto asociado y motivos que han dado lugar a la Baja.
  • Particularidades: se incorporan datos de otros módulos relacionados con el módulo principal.
  • Nivel: básico

Informes01b.jpg


Evolución de altas por tipo de relación

  • Módulo base: Relaciones con Personas
  • Campos que muestra: valores calculados para cada tipo de relación mes a mes (últimos doce contando el actual) así como el acumulado del año en curso y de los últimos doce meses.
  • Filtros: tipo de relación.
  • Gráficos: altas en el mes en curso, en el año en curso y en los últimos doce meses, por tipo de relación.
  • Particularidades: todos los campos son calculados excepto el tipo de relación. En función del volumen de registros a analizar estos cálculos pueden ralentizar la ejecución del informe.
  • Nivel: avanzado

Informes01c.jpg


Evolución de bajas por tipo de relación

  • Módulo base: Relaciones con Personas
  • Nota: informe similar al anterior, focalizado en las bajas por tipo de relación. Aplican las mismas consideraciones.
  • Nivel: avanzado

Informes01d.jpg


Evolución mensual de bajas por motivo de baja (personas y organizaciones)

  • Módulo base: Relaciones con Persona en unión con Relaciones con Organizaciones
  • Campos que muestra: motivo de baja, año-mes de baja y número de registros (considerando personas y organizaciones).
  • Filtros: se establecen dos filtros vinculados a las relaciones con personas: uno en el que la fecha de baja no esté vacía y otro en el que el tipo de relación sea de una categoría determinada (por ejemplo Socio/a, pero podría aplicarse a cualquier otra opción). Al tratarse de un informe de unión, existen otros dos filtros equivalentes vinculados al módulo Relaciones con Organizaciones.
  • Gráficos: motivo de baja (combina personas y organizaciones).
  • Particularidades: informe de unión que combina información de dos módulos base: Personas y Organizaciones. Cabe entender la diferencia entre un informe de unión (dos módulos base) y un informe que muestre datos de diferentes módulos relacionados (donde hay un solo módulo base). Calcula el campo año-mes que permite la agregación.
  • Nivel: avanzado

Informes02d.jpg


Organizaciones y Relaciones con Organizaciones

Datos básicos de organizaciones

  • Módulo base: Organizaciones
  • Campos que muestra: datos de contacto y tipología y número de personas vinculadas a la organización.
  • Filtros: tipo de relación, categoría, subcategoría y ubicación.
  • Gráficos: número total de registros, distribución por categoría y distribución por tipo de relación.
  • Particularidades: aplica la función contador sobre el campo ID del módulo Personas para obtener el número de personas vinculadas a cada organización.
  • Nivel: básico

Informes02a.jpg


Datos básicos de relaciones con organizaciones

  • Módulo base: Relaciones con Organizaciones
  • Campos que muestra: tanto de la relación como tal (fechas de alta y baja, tipo de relación, etc.) como de las organizaciones a las que se refieren las relaciones y de los proyectos en los que participan.
  • Filtros: tipo de relación, fechas de alta y baja, motivo de baja, categoría/subcategoría, provincia.
  • Gráficos: tipo de relación (en número de registros y en porcentaje), categoría y proyecto asociado.
  • Particularidades: ninguna.
  • Nivel: básico

Informes02b.jpg


Evolución de altas por tipo de relación

  • Módulo base: Relaciones con Organizaciones
  • Nota: se trata de un informe equivalente al ya descrito para el módulo Relaciones con Personas: Evolución de altas por tipo de relación. Aplican las mismas consideraciones.
  • Nivel: avanzado

Informes02c.jpg


Eventos, Inscripciones, Sesiones y Asistencias

Datos básicos de eventos

  • Módulo base: Eventos
  • Campos que muestra: datos básicos de los eventos y, de forma agregada, el número de inscripciones y de sesiones de cada uno de ellos.
  • Filtros: filtros básicos sobre el estado, la fecha de inicio y las horas totales del evento. Además, dos filtros adicionales: uno vinculado a inscripciones (para filtrar por estado) y otro, a sesiones (para filtrar por fechas de inicio de las mismas).
  • Gráficos: números totales de eventos, de inscripciones y de sesiones. Además, distribución de eventos por estado y por proyecto asociado.
  • Particularidades: contadores a nivel de evento para inscripciones y sesiones.
  • Nivel: básico

Informes03a.jpg


Datos básicos de inscripciones

  • Módulo base: Inscripciones
  • Campos que muestra: persona y/o organización inscrita, estado, tipo de participación, fecha, total de horas asistidas y porcentaje de asistencia global al evento.
  • Filtros: persona, organización y evento, así como estado y fecha de la inscripción.
  • Gráficos: distribución de inscripciones por evento, por estado y por tipo de participación.
  • Particularidades: ninguna (los campos numéricos que aparecen en este informe ya se calculan directamente por parte del CRM en la operativa habitual).
  • Nivel: básico

Informes03b.jpg


Control de sesiones y asistencias (creación y validación)

  • Módulo base: Eventos (aunque la representación se lleva a cabo por sesión)
  • Campos que muestra: conjunto de inscripciones, asistencias generadas y asistencias validadas de cada sesión.
  • Filtros: por estado (confirmado o participa) de las inscripciones como filtro por defecto. También evento y fechas de inscripción o de inicio de sesión (para ajustar el objeto del informe se podría filtrar, por ejemplo, un rango de fechas de inscripción que fuesen iguales o anteriores a las que se marquen para la sesión). Es habitual incorporar hoy o n últimos días en el filtro por defecto de la fecha de sesión para llevar a cabo una validación de la generación de asistencias o de la validación de las mismas.
  • Gráficos: números totales de eventos, inscripciones, asistencias generadas y asistencias validadas.
  • Particularidades: se presentan en color verde los valores de asistencias totales o validadas que coincidan con el número total de inscripciones. Se muestran en rojo los valores de asistencias generadas o validadas que sean inferiores al total de inscripciones. Se entiende que idealmente (asistencias generadas y validadas correctamente) los tres números deberían acabar siendo idénticos. Se hace uso de funciones básicas tipo contador, guardado de datos en variables de informe y uso de fórmulas personalizadas en código de programación.
  • Nivel: avanzado

Informes03c.jpg


Seguimiento de asistencias a evento

  • Módulo base: Asistencias (aunque la representación se lleva a cabo por eventos y sesiones)
  • Campos que muestra: nombre y apellido de la persona, evento, estado de la inscripción, contador de asistencias totales vinculadas a la inscripción. Además se cuenta con un conjunto de campos calculados referentes al número y porcentaje de asistencias según cada tipología de estado (en blanco, sí asiste, asiste parcialmente, no asiste justificadamente, no asiste sin justificar) de los registros considerados.
  • Filtros: fecha de la asistencia, estado de la inscripción y evento.
  • Gráficos: inscripciones por estado y por evento, total de inscripciones y total de asistencias.
  • Particularidades: los campos calculados se obtienen a partir de consultas directas a la base de datos. Posteriormente, se guardan como variables del informe a fin de realizar el cálculo de los porcentajes que representa cada caso respecto al total de asistencias. Cabe tener en cuenta que el CRM ya calcula el % de asistencia al evento, pero lo hace globalmente, incluyendo todas las sesiones. En este informe los porcentajes son sobre el conjunto de sesiones que se considere filtrar por rango temporal, de modo que es posible obtener resultados parciales.
  • Nivel: avanzado

Informes03d.jpg


Pagos, Remesas y Subvenciones

Datos básicos de pagos

  • Módulo base: Pagos
  • Campos que muestra: registro del pago y del compromiso de pago asociada, nombre y apellido de la persona u organización asociada al pago y datos básicos como importe, fecha, estado o tipología.
  • Filtros: fecha de pago, importe, estado, tipo de pago, tipo de movimiento, medio de pago. Sin filtros por defecto.
  • Gráficos: importes por estado, por tipo de pago y por medio de pago; registros por estado.
  • Particularidades: ninguna
  • Nivel: básico

Informes04a.jpg


Datos básicos de remesas

  • Módulo base: Remesas
  • Campos que muestra: nombre, fecha, estado, tipo, IBAN, número total de pagos incluidos y suma del importe de dichos pagos.
  • Filtros: nombre, fecha, estado, tipo, IBAN. Sin filtros por defecto.
  • Gráficos: remesas por estado, por número de pagos, por importes y registros por estado de la remesa.
  • Particularidades: se usan las funciones básicas contador y suma para obtener los datos numéricos correspondientes.
  • Nivel: básico

Informes04b.jpg


Datos básicos de subvenciones

  • Módulo base: Subvenciones
  • Campos que muestra: nombre, organización convocante, importes y fechas, estado y tipos. Se sintetiza la información de la ficha de una subvención o proceso similar.
  • Filtros: importe, fechas, tipos de convocatoria, etc. Sin filtros por defecto.
  • Gráficos: Importe solicitado por tipo subvención e importe solicitado por estado de la subvención.
  • Particularidades: ninguna
  • Nivel: básico

Informes04e.jpg


Pagos por tipo y mes/año

  • Módulo base: Pagos
  • Campos que muestra: número de pagos e importe total de los mismos agrupados por tipo de movimiento, tipo de pago, mes y año.
  • Filtros: fecha de pago, estado, tipo de pago y tipo de movimiento. A través de estos filtros se pueden analizar, por ejemplo, ingresos y gastos, impagos o importes pagados, etc., siempre agregados por mes y año.
  • Gráficos: importes totales y número de registros por cada tipo de pago.
  • Particularidades: mediante funciones personalizadas se obtienen el mes y el año a partir de la fecha de pago, lo que permite su agrupación cronológica.
  • Nivel: avanzado

Informes04c.jpg


Importes pagados y pendientes de los compromisos de pago periódicas en el año actual

  • Módulo base: Compromisos de Pago
  • Campos que muestra: persona u organización vinculada, compromiso de pago y detalles (tipo de pago, periodicidad, importe, etc.). Se muestran también el importe teórico anual a ingresar (Importe anualizado), el número y el importe total de los pagos ya realizados y un campo calculado de importe pendiente.
  • Filtros: pagos del año en curso en estado Pagado, compromisos de pago periódicos, campo de importe anualizado no vacío y otros personalizables según necesidad (fecha de baja del compromiso de pago, tipo de pago, etc.).
  • Gráficos: totales de importes previstos, pagados y pendientes.
  • Particularidades: se calcula el importe pendiente restando lo pagado en el año en curso del total anualizado.
  • Nivel: avanzado

Informes04d.jpg


Campañas

Datos básicos de campañas

  • Módulo base: Campañas.
  • Campos que muestra: datos básicos de las campañas (nombre, fechas de inicio y final, estado, tipo) y datos agregados del número de destinatarios (personas, organizaciones, interesados, LPO) y de las acciones realizadas (emails enviados, emails no válidos, emails fallidos, emails vistos, clics en enlaces, interesados creados, personas creadas, organizaciones creadas). Los totales están calculados sobre todas las LPO pertenecientes a la campaña y sobre todos los Emails Marketing.
  • Filtros: nombre, fecha de inicio y estado de la campaña. Sin filtros por defecto.
  • Gráficos: número de campañas incluidas en el informe, porcentaje de campañas por tipo de estado, total de envíos realizados por campaña (emails enviados), total de enlaces clicados por campaña y porcentaje de aperturas por campaña.
  • Particularidades: el informe incluyen campos con funciones personalizadas para evitar el manejo de agrupaciones que debido al volumen de registros potencialmente implicados haría prácticamente imposible su correcto funcionamiento pora razones de time-out.
  • Nivel: avanzado

Informes05a.jpg


Detección de duplicados

Aunque el CRM ya dispone de funcionalidad y realiza determinadas tareas relativas a la detección de duplicados, los informes que se presentan a continuación pueden ser un complemento para apoyar procesos proactivos de las entidades usuarias dirigidos a la depuración y mejora de los datos almacenados. Cabe tener presente que un informe, por concepto, no tiene la capacidad de suplir o emular las funcionalidades citadas, pero sí puede facilitar la localización de los registros relevantes.

Los siguientes informes usan una lógica parecida todos ellos. Por un lado, se filtra por el campo clave para la detección de duplicados (número de identificación o correo electrónico) para descartar del análisis los registros que no tengan ningún valor en ese campo. Por otro lado, el informe se ordena descendientemente por el campo calculado que indica el número de veces que aparece el valor repetido. De este modo, los potenciales duplicados aparecerán en primer lugar (valores de repetición superiores a 1) y podrá descartarse el grueso del informe (valores de repetición iguales a 1, es decir, no repetición).

Para proceder a la comprobación de los potenciales duplicados deberán buscarse los valores claves repetidos en el módulo pertinente (Personas, Interesados) y a partir de ahí, combinar los registros duplicados o corregir los valores clave incorrectos.


Duplicados de personas por número de identificación

Módulo base: Personas

Campos que muestra: número de identificación (DNI/NIE) y veces que este número se repite (este último campo es el que rige la ordenación del informe, tal y como se ha indicado en la introducción de esta sección).

Filtros: número de identificación no vacío.

Gráficos: ninguno

Particularidades: función de contador para saber el número de repeticiones de cada número de identificación.

Nivel: básico

Informes06a.jpg


Duplicados de personas por correo electrónico

  • Módulo base: Personas
  • Campos que muestra: correo electrónico y número de veces que este correo se repite (este último campo es el que rige la ordenación del informe, tal y como se ha indicado en la introducción de esta sección).
  • Filtros: correo electrónico no vacío.
  • Gráficos: ninguno
  • Particularidades: función de contador para saber el número de repeticiones de cada correo electrónico.
  • Nivel: básico

Informes06b.jpg


Duplicados de interesados por número de identificación


Duplicados de interesados por correo electrónico


Duplicados de personas e interesados por número de identificación

A diferencia de los informes anteriores de esta sección, que tratan de identificar posibles duplicados dentro de un mismo módulo, este informe y el siguiente tratan de identificar posibles duplicados entre los módulos de Personas e Interesados, es decir, identificar contactos que aparezcan en ambos módulos.

  • Módulo base: Interesados
  • Campos que muestra: nombre completo del interesado, número de identificación en módulo Interesados, número de identificación en módulo Personas, estado del interesado y campo indicador de si el número de identificación existe en ambos módulos.
  • Filtros: número de identificación no vacío y el estado del interesado por si se desea, por ejemplo, buscar solamente duplicados no convertidos.
  • Gráficos: totales de registros de interesados duplicados y no duplicados como personas.
  • Particularidades: El Nombre completo del interesado se obtiene mediante una función personalizada SQL. El Número de identificación en Personas se obtiene también con una función personalizada SQL usando como parámetro el Número de identificación en Interesados. La columna ¿Duplicado en Personas? se obtiene mediante una fórmula ejecutada en el propio informe.
  • Nivel: avanzado

Informes06e.jpg


Duplicados de personas e interesados por correo electrónico

  • Módulo base: Interesados
  • Campos que muestra: nombre completo del interesado, correo electrónico en módulo Interesados, correo electrónico en módulo Personas, estado del interesado y campo indicador de si el correo electrónico existe en ambos módulos.
  • Filtros: correo electrónico no vacío y el estado del interesado por si se desea, por ejemplo, buscar solamente duplicados no convertidos.
  • Gráficos: porcentaje de registros de interesados duplicados y no duplicados como personas.
  • Particularidades: El Nombre completo del interesado se obtiene mediante una función personalizada SQL. El Correo electrónico en Personas se obtiene también con una función personalizada SQL usando como parámetro el Correo electrónico en Interesados. La columna ¿Duplicado en Personas? se obtiene mediante una fórmula ejecutada en el propio informe.
  • Nivel: avanzado

Informes06f.jpg


Otros

En este apartado se describen algunas aplicaciones de los informes no cubiertas en la colección de ejemplos prediseñados y preinstalados de los apartados anteriores.


Representación de franjas de edad de personas y franjas de fecha (mediante PHP)

Es posible mostrar datos numéricos organizados en franjas o tramos, lo que puede ser útil, por ejemplo, para mostrar un informe de franjas de edad.

Para ello, en la definición del informe debemos incluir el campo Edad y ponerle un nombre en la columna Guardar. En este ejemplo le hemos puesto el mismo nombre, edad, que posteriormente usaremos en la columna Fórmula.

Tramos1.jpg

A continuación es necesario incluir en el cuadro de edición de Fórmula la función que sustituirá cada edad concreta por el tramo al que pertenece.

Tramos2.jpg

El código de la función sería el siguiente:

({edad} > 0 && {edad} < 18 ? 'Entre 0 y 18':({edad} >= 18 && {edad} <= 25 ? 'Entre 18 y 25':({edad} >= 26 && {edad} <= 30 ? 'Entre 26 y 30':({edad} >= 31 && {edad} <= 40 ? 'Entre 31 y 40':({edad} >= 41 && {edad} <= 50 ? 'Entre 41 y 50':({edad} >= 51 && {edad} <= 60 ? 'Entre 51 y 60':({edad} >= 61 && {edad} <= 70 ? 'Entre 61 y 70':({edad} > 71  ? 'Mas de 70':'ND'))))))))

Lógicamente, este código puede ser modificado para adaptarlo a las necesidades concretas del caso. En caso de modificar la función es importante tener especial cuidado con el número de paréntesis de apertura y de cierre, que debe ser exactamente el mismo.

Para el caso de las franjas de fecha, la lógica sería la misma, pero, en este caso, la formula se añadirá en una columna de "Valor Fijo". Esta columna se añade utilizando el botón "Añadir valor fijo".

Informa Franjas Fecha.png

Y el codigo sería como éste:

({data} >= '2018-01-01' && {data} < '2018-03-31' ? '1er Trimestre': ({data} >= '2018-04-01' && {data} < '2018-06-30' ? '2º Trimestre': ({data} >= '2018-07-01' && {data} < '2018-09-30' ? '3er Trimestre': ({data} >= '2018-10-01' && {data} < '2019-01-01' ? '4º Trimestre': ({data} >= '2019-01-01' ? 'Año 2019': 'Años anteriores' )))))

Hay que tener en cuenta el formato de la fecha (AAAA-MM-DD), el número de parentesis de cierre y todos los demás símbolos.


Representación de franjas de edad de personas y franjas de fecha (mediante SQL)

Alternativamente a la modalidad anterior, también es posible calcular la edad de las personas utilizando la columna que nos permite definir una función SQL (función personalizada). La ventaja de esta segunda aproximación es que el cálculo se realiza en el propio motor de base de datos, siendo por tanto más eficiente y permitiendo la utilización de otras funcionalidades que se ejecutan a nivel de SQL (como son la agrupación de registros o la utilización de funciones propias de SQL (contar, contar distinct, etc).

Por ejemplo, usando esta segunda aproximación para calcular el grupo de edad, sería posible generar un informe en que contara cuántas personas tenemos en cada franja de edad.

Para realizar el cálculo, es necesario arrastrar el campo edad al área de manipulación y ahí modificar la columna "Función personalizada".

if (edad_c >= 0 and edad_c < 18, ' 0-18', if (edad_c >= 18 and edad_c < 30, ' 18-29', if (edad_c >= 30 and edad_c < 50, '30-49', if (edad_c >= 50 and edad_c <= 59, '50-59', if (edad_c >= 60 and edad_c <= 69, '61-69', if (edad_c >= 70 , '>= 70', 'altres'))))))

Visto en el editor de informes (KReport) quedaría de la siguiente forma:

Edad-nacionalidad.png


Mostrar el histórico de relaciones de una persona

En ocasiones es necesario mostrar varios campos concatenados en una celda que muestra el resultado agrupado de varios registros. Un ejemplo de esto sería mostrar en una sola celda los distintos Tipos de relación de una Persona.

Si solamente queremos mostrar los distintos tipos de relación, bastaría con usar las funciones de agrupación que ya incluye el módulo de informes, Concatenar Grupo. Pero, si queremos mostrar además del tipo de relación otro campo, como la Fecha de alta, entonces tenemos que hacer uso de una Función personalizada como la siguiente.

GROUP_CONCAT("[",date_format({tc}.{f}, "%d-%m-%Y")," " , {t}.tiporelacion,"]" ORDER BY {tc}.{f} ASC SEPARATOR " ") 

Viendo detalladamente la función, que es propia de MySQL y cuyos detalles se pueden consultar aquí:

  • GROUP_CONCAT: Es propiamente la función que muetsra la agrupación.
  • {tc}.{f}: Es una referencia al campo en que se está definciendo la función {tc}.{f} indica que es un campo creado en Estudio, en nuestro caso la fecha de alta de la relación.
  • {t}.tiporelacion: Es una referencia al campo tipo relación, en este caso no definido en Estudio.
  • date_format({tc}.{f}, "%d-%m-%Y"): Damos un determinado formato a la fecha de alta
  • ORDER BY {tc}.{f} ASC SEPARATOR " ": Son parametros de la función GROUP_CONCAT, en nuestro caso indicamos que los valores de cada registro han de separarse por un espacio en blanco (" ") y que se deben ordenar los registros que se muestra mediante la fecha de alta, de modo ascendente.

En el informe en cuestión es necesario agrupar por el ID de la persona y el diseño es similar a esto:

Sel057.png

y el resultado es similar a esto:

Sel058.png


Uso combinado de filtros con condiciones AND y OR

En algunas ocasiones se desea construir un informe basado en una estructura condicional del tipo: todos los registros que cumplan X y que al mismo tiempo cumplan Y o Z.

Un ejemplo concreto sería obtener un informe con un listado de socios activos en una fecha determinada, el 1 de enero de 2015. Para ello deberían cumplirse tres condiciones vinculadas al módulo Relaciones Personas: que el Tipo de relación sea igual a Socio, que la Fecha de alta sea anterior a la fecha deseada y que la Fecha de baja esté vacía o sea posterior a la fecha deseada.

Si no fuera por esta última condición, los filtros podrían establecerse por el procedimiento estándar descrito en Creación de los filtros, en el que todas las condiciones se aplican mediante operadores AND, es decir, que todas las condiciones deben cumplirse simultáneamente. Sin embargo, para una combinación de filtros como la indicada en este ejemplo, una de las tres condiciones puede cumplirse de dos formas distintas, por lo que es necesario mezclar operadores AND y OR, para combinar simultaneidad y opcionalidad. Veamos cómo.

Las condiciones a aplicar son:

(Tipo de relación = Socio) AND (Fecha de alta < 01/01/2015) AND ((Fecha de baja NO existe) OR (Fecha de baja > 01/01/2015))

Es decir, hay tres condiciones a cumplir simultáneamente (AND), una de las cuales (Fecha de baja) puede cumplirse de dos formas distintas (OR). Para obtenerlo en el informe hay que hacer lo siguiente:

1) Añadir las dos primeras condiciones (Tipo de relación y Fecha de alta) según el procedimiento habitual. En Seleccionar condición hay que indicar AND (de hecho, es la opción por defecto), tal y como se muestra en la figura (marca roja).

Informes-filtro-and-or-1.jpg

Nota: Al definir los filtros se sugiere que se permita la modificación de los valores de filtrado en tiempo de ejecución del informe (ver marca azul en la captura anterior), de forma que el usuario pueda probar diferentes combinaciones en vivo sin tener que editar el informe.

2) A continuación es necesario evaluar la tercera condición, que hace AND con las dos anteriores, pero que internamente es una OR. Para ello, en la parte superior de la pestaña Seleccionar debe pulsarse el botón Añadir para incorporar un nuevo conjunto de condiciones (colgará de root, el conjunto por defecto usado en el punto anterior) y darle un nombre cualquiera (en el ejemplo, Baja 2015). Al hacer clic en este nuevo elemento, la parte inferior "se vacía", es decir, permite indicar nuevos filtros. En este caso se definirán dos filtros sobre el mismo campo (Fecha de baja) y en Seleccionar condición se indicará OR (será el criterio que se aplicará sobre estos dos filtros). Este segundo paquete de filtros (Baja 2015) se relacionará de forma AND con el primer paquete (root), puesto que el criterio que manda es el que tiene el paquete principal, de modo que se obtiene el resultado deseado. En la siguiente captura están marcados los diferentes elementos de interés comentados.

Informes-filtro-and-or-2.jpg

Puede consultarse más información sobre este tipo de informes en Kinamu Reporter Manual v1.5 part 1.

Otro ejemplo similar puede consultarse en esta entrada de los foros de soporte: Cómo resolver los filtros de un informe


Volver al índice