Crystal Reports

Embed Size (px)

Citation preview

Mdulo I: Repaso Crystal Reports

Planeacion del reporte Definir la importancia del reporte A quien va dirigido? Cul ser el ttulo? Se requieren sumarizar datos?

Encontrar los datos De dnde se tomar la fuente de los datos? Los datos ya existen o requieren ser calculados?

Organizar los datos dentro del reporte Requiere filtros de informacin? Requiere resaltar informacin?

Definiendo conexionesSeleccionar la fuente de datos:A travs de comandos Tablas Vistas Procedimientos almacenados

Validacin de relaciones entre tablas o vistas

Insertando objetos...Acceso a campos y secciones del reporte: Fuente de datos Frmulas Expresiones SQL Parmetros Running Total Grupos Especiales

Insertando campos... Click sobre el boton de Insert, entonces click dentro de la seccion del reporte Doble click sobre el campo, entonces click dentro de la seccion del reporte Seleccionar el campo, click Enter, entonces click dentro de la seccion del reporte Arrastrar el campo a la seccion dentro del reporte Click boton derecho del mouse, seleccionar Insert to Report del menu de acceso rapido, entonces click dentro de la seccion del reporte.

Crear FormulasYa que las formulas son tratadas como campos dentro de un reporte, se pueden crear a partir del Field Explorer Abrir Field Explorer Click botn derecho del mouse sobre Formula Fields en la opcin New, o Desde el men de Field Explorer click con el mouse la opcin de New

Crear GruposTip: La palabra por Insert - > Group o click sobre el botn Seleccionar el campo por el cual agrupar Seleccionar el mtodo de ordenacin Ascendente Descendente Orden especfico Orden original

Mltiples GruposReport - > Group Expert o click sobre el botn Seleccionar el o los campos por agrupar del lado derecho

Cambia las propiedades de un grupo

Usar Select ExpertPara crear filtros de la informacin: Report - > Select Expert o click sobre el botnCampos del reporte

Campos de la BD

Select Expert:Mltiples criterios

Se puede editar: Para cambiar el orden de los filtros Aplicar el filtro a nivel registro o grupo Cambiar operadores lgicos

Incluir frmulas y funciones

Crear objetos de textoInsert - > Text Object o click sobre el botn

Usar Section ExpertPermite formatear secciones de un reporte. El section expert tiene opciones para ocultar secciones, agregar pginas antes o despus, mantener secciones juntas, etc. Se puede accesar a travs de: Report -> Section Expert o click sobre le botn

Usar Section ExpertAdicionalmente se pueden agregar, eliminar o unir secciones, as como cambiar de orden el contenido de cada seccin.

Insertar lneas y cajasPara insertar una lnea: Insert - > Line o click sobre el botn

Insertar lneas y cajasPara insertar una caja: Insert - > Box o click sobre el botn

Guardar & Refrescar el reporteGuardar el reporte: Click sobre el botn save Puede definir la opcin de autosave Visualizar el reporte: File -> Print Preview

Refrescar el reporte:

Modulo 2: Mltiples Secciones

Multiples Secciones Escribir mensajes condicionales Formatear objetos/ Secciones basadas en valor de campo Alternando colores de fondo registro por registro Agregando espacio en blanco o eliminando lineas en blanco

Agregar SeccionesSe puede agregar, eliminar, unir o mover secciones a travs de Seccion Expert: Report -> Section Expert o click sobre le botn

Agregar SeccionesAgregar una grafica en el Report Header A traves de Seccion Expert invertir el contenido de las secciones.

Agregar Secciones

Sobreposicin de SeccionesPermite mostrar el contenido de una seccin dentro de la seccin siguiente, como si ambas fueran una sola.

Agregar SeccionesInsertar una seccion Group Footer #1 adicional Condicionar la seccion Group Footer #1b

Suprimir si las ventas por pais son menores a 500,000

Agregar Secciones

Modulo 3: Running Totals

Crear Running TotalsSon objetos de tipo acumulativo creados con base en una condicion de evaluacion. Ya que los objetos Running Totals son tratados como campos dentro de un reporte, se pueden crear a partir del Field Explorer Abrir Field Explorer Click botn derecho del mouse sobre Running Total Fields en la opcin New, o Desde el men de Field Explorer click con el mouse la opcion de New

Running Total: Por cada registroSe acumula el objeto por cada registro

Running Total: A un cambio de campoSe acumula el objeto por cada cambio del campo Region

Running Total: A un cambio de grupoSe acumula el objeto por cada cambio del grupo Region

Running Total: Por formulaSe acumula el objeto dependiendo la condicion de la formula (donde las ventas por pais sean mayores a 100,000)

Parametros de Running Total

Modulo 4: Prompts & Parmetros

Prompts & ParametrosLos Parametros son campos que solicitan al usuario especificar un valor cada vez que se refrescan los datos en el reporte. Los parametros pueden utilizarse: Como parte de un criterio de seleccion para filtrar datos En calculos como parte del componente de una formula Parametros pueden ser usados para insertar texto dentro de un reporte Para determinar la forma de ordenar datos Para presentar los n mejores o peores datos basados en un campo Los parametros pueden crearse con alguno de los tres tipos de prompts disponibles : Estaticos Dinamicos Dinamicos y en cascada Los Prompts son elementos que ayudan a los usuarios a colocar valores para los parametros

Crear Campos ParametroYa que los parametros son tratados como campos dentro de un reporte, se pueden crear a partir del Field Explorer Abrir Field Explorer Click botn derecho del mouse sobre Parameter Fields en la opcin New, o Desde el men de Field Explorer click con el mouse la opcion de New

Tipo de datos que almacenan los parametros:

Crear Campos Parametros

Cadena, numerico,moneda, booleano, fecha, hora, fecha/hora Los prompts incluyen una LOV opcional para los usuarios: Estatica Dinamica Dinamica y en Cascada Los prompts estaticos son aquellos cuya LOV es siempre la misma y esta se almacena dentro de cada reporte. Los prompts dinamicos contienen LOV que pueden ser calendarizadas a traves de Business View Manager y pueden ser compartidas a traves del repositorio de Business Objects Los prompts dinamicos y en cascada son aquellos donde la LOV del proximo nivel en profundidad depende del valor de la primera seleccion. Pueden ser compartidos a traves del repositorio de Business Object. .

Name, nombre del parametro Type, tipo de dato List of Values, Static Value Field, campo para crear la LOV estatica Description Field Insert, agregar valor por valor a LOV Actions, agregar toda la LOV, importar o exportar una LOV Options: Prompt Text Prompt with Description Only Default Value Allow Custom Values Edit Mask Min Length Max Length Allow Discrete Values Allow Range Values Allow multiples Values

Parametros con Prompt Estatico

Name, nombre del parametro

Parametros con Prompt Dinamico

Type, tipo de dato List of Values, Dynamic Choose Data Source, crear una LOV nueva o seleccionar alguna del repositorio Value Field, seleccionar el campo asociado a la LOV Description Field, seleccionar un campo descriptivo Parameters, seleccionar como prompt Options: Prompt Text Prompt with Description Only Allow Discrete Values Allow Range Values Allow multiples Values

Parametros en Select ExpertCuando un campo parametro es creado, es representado por un signo de interrogacion ?. Se pueden usar los parametros para restringir informacion dentro del reporte, ya sea a traves del Select expert o directamente en la opcion Record Selection Formula (Report -> Selection Formula ->Record)

Prompt & ParametrosParametro definido con Valores Discretos y Edicion de Usuario

Prompt & ParametrosParametro definido con Multiples Valores y Edicion de Usuario

Parametros de Rango de FechasOptions: Start, Limite inferior de fecha End, Limite superior de fecha Allow Range Values, True permite especificar un rango de valores dentro de los limites establecidos

Parametros en Objetos de TextoAlgunas veces se requiere colocar dentro del reporte el texto que refleje la el parametro de seleccion elegido por el usuario, esto consiste en agregar un objeto de texto al reporte (como titulo o subtitulo), seleccionar el campo parametro de Field Explorer y arrastrarlo dentro del objeto de texto.

Reporte Final

Parametros dentro de Formulas Como parte de Record Selection Formula En Formateo Condicional

Parametros con MascaraEn parametros de tipo cadena, se puede definir una mascara de edicion la cual provee un conjunto de caracteres usados para restringir los valores que el usuario puede introducir dentro del parametro.

Parametros con Mascara

Parametros en Sort OrderSe pueden usar los parametros para definir con base a que ordenar la informacion en el reporte. Crear el(los) campo(s) parametro involucrados en el metodo de ordenacion Crear una formula especificando el metodo de ordenacionSi parametro= City entonces City sino Si parametro= Region entonces Region sino Customer Name

Seleccionar la opcion Record Sort Expert Agregar la formula a la seccion Sort Fields Click OK

Parametros para Sort Order

Formula para Sort Order

Formula para Sort Order

Formula para Sort OrderReporte Final

Modulo 5: Formulas Avanzadas

Procesos en BackgroundCrystal Reports utiliza el metodo de los dos pasos para crear los reportes. Que es un paso? Es el proceso por el cual Crystal reports lee los datos de la base de datos. Antes de leer los registros Pre-Paso#1. Evaluacion de formulas planas. Mientras lee los registros Paso #1. Lectura de registros de base de datos Recibiendo registros Evaluando formulas recurrentes Aplicando formulas de seleccion de registros Agrupando, ordenando y sumarizando Creando tablas cruzadas Almacenando registros

Procesos en BackgroundPre-Paso#2. Ejecucion de Group Sort Expert y Hierarchical grouping Mientras se imprimen los registros Paso #2. Formateo del reporte Leyendo registros guardados Aplicando formulas de seleccion de grupo Ejecutando running totals Procesando formulas en tiempo de impresion Generando graficas y mapas Ejecutando subreportes Generando paginas en demanda

Procesos en Background

Funciones de Tiempo de EvaluacionCuatro funciones para especificar cuando debe ejecutarse una formula en particular: Before Reading Records. Especifica que una formula sea evaluada antes del primer paso. While Reading Records. Forza a que la formula sea procesada mientras el programa esta leyendo registros de la base de datos. While Printing Records. Especifica que una formula sea evaluada despues del primer paso. EvaluateAfter(). Especificar el orden de ejecucion de una formula cuando dos formulas se ejecutan en el mismo periodo de evaluacion,

Trabajando con VariablesVariables son campos temporales que almacenan datos y pueden pasarlos de registro a registro. Las variables pueden guardar valores que pueden cambiar constantemente. Toda variable debe: Declararse Asignar su valor y Usarse en una formula Declarar Variables Nombre hasta de 254 caracteres No iniciar con numero y puede contener numeros No espacios No nombre de operador CR Sintaxis: tipo_de_variable nombre

Trabajando con Variables

Tipo de variable

Nombre de variable

DateVar DateDue

Asignar Valor a la Variable Usar en Formulas

Trabajando con VariablesDateDue:= {Orders.Order Date} * 14;

Las variables se usan dentro de las formulas y cada sentencia donde se usan debe terminar con ; Para accesar al contenido de una variable se hace a traves del simbolo @ EvaluateAfter({@DateDue}); Alcance de las Variables Global. Disponible en formulas a traves de todo el reporte actual Shared. Puede ser compartida con un subreporte y a traves de todo el reporte actual. Local. Puede solamente ser usada en la formula en la cual esta definida.

Trabajando con ArreglosUn arreglo es una lista ordenada de valores que son todos del mismo tipo. Los valores en un arreglo son conocidos como elementos. Un arreglo de parametros se crea automaticamente cuando se crea un parametro que almacena multiples valores o un rango de valores. Existen varias funciones de arreglos para obtener el valor de los elementos, como: Minimum(). Saca el valor mas bajo del arreglo Maximum(). Saca el valor mas alto del arreglo Ubound(). Obtiene el tamano maximo del arreglo

Funcion DebuggerSi ocurre algun error en una formula durante el periodo de ejecucion del reporte, Crystal abre el formula editor con un panel del lado izquierdo indicando donde esta el error.

Modulo 6: Subreportes

Crear SubreportesUn subreporte es un reporte dentro de otro reporte. La forma de construirse es la misma que un reporte tradicional, la diferencia es que un subreporte es un objeto dentro de un objeto primario y no puede contener a si mismo un subreporte. Los subreportes pueden utilizarse: Combinar reportes dentro de un solo reporte Combinar datos que no pueden ser ligados de otra forma Presentar diferentes vistas de los mismos datos Presentar detalle de un reporte maestro

Crear SubreportesHay dos tipos de subreportes: No ligados Son reportes que pueden ser colocados en cualquier parte dentro del reporte principal y sus datos no estan ligados al reporte primario de ninguna forma. Estos son reportes no relacionados. Ligados Opuesto a los no ligados, es decir, sus datos estan ligados de forma que los registros mostrados en el subreporte estan relacionados con los datos mostrados en el reporte principal

Subreportes No LigadoSe puede crear a travs de: Insert -> Subreporte o click sobre el botn

Subreportes No Ligado Crear el reporte principal Crear el subreporte Insertar subreporte Seleccionar Choose an existing report, si no existe el subreporte, seleccionar Create a subreport with the Report Wizard Seleccionar On Demand subreport (opcional) Click OK

Subreportes No Ligados

Subreportes LigadosCuando se liga un subreporte a un reporte principal: Crystal crea la liga entre ellos a traves de un parametro, el cual se define para el campo a traves del cual se ligan los datos. Crystal crea una formula para restringir los registros en el subreporte usando el parametro creado. Crystal limita los datos del subreporte a esos registros que hacen join con el valor del parametro.

Subreportes Ligados Crear el reporte principal Crear el subreporte Insertar subreporte Seleccionar Choose an existing report, si no existe el subreporte, seleccionar Create a subreport with the Report Wizard Seleccionar On Demand subreport (opcional) Click OK

Subreportes Ligados Click sobre el tab Link Seleccionar el campo a traves del cual hace join el reporte principal con el subreporte. Crystal crea el campo parametro para el campo join Seleccionar la opcion Select data in subreport based on field (filtro creado por Cystal) Click OK

Subreportes Ligados

Formatear SubreporteFormat - > Format Subreport o click sobre el botn Subreport Name, permite cambiar el nombre del subreporte On Demand Subreport, el reporte se visualiza como una hiperliga y permite cargar los datos del subreporte hasta que se accesa a el. On Demand subreport caption y Subreport Preview Tab-Caption, permiten escribir un texto para la liga del subreporte y el Tab de preview del subreporte (respectivamente) cuando esta en modo On Demand.

Formatear SubreporteFormat - > Format Subreport o click sobre el botn Re-import When Opening, permite refrescar el subreporte antes de abrirlo dentro del reporte principal. Suppress Blank Subreport, permite suprimir el subreporte si este no genera datos.

Formatear Subreporte

Diseno para el subreporte

Vista del subreporte

HiperligasLa hiperliga puede ser creada sobre cualquier objeto dentro del reporte Las hiperligas son guardadas con el reporte y estan disponibles a otros usuarios como una forma de ver informacion adicional. Las hiperligas se pueden crear a los siguientes tipos de informacion: Un sitio Web Un archivo El valor de un campo de website actual Una direccion de email Otro archivo de Crystal Reports

Crear Hiperligas Seleccionar un objeto dentro del reporte Seleccionar la opcion Format Editor Seleccionar el Tab Hyperlink Seleccionar el tipo de hiperliga que se requiere crear (los tipos de hiperligas son disponibles dependiendo el objeto seleccionado

Modulo 7: Grupos

Personalizar Nombre de GrupoPara editar los parametros de un grupo: Click boton derecho del mouse sobre el grupo a modificar Seleccionar la opcion Change Group

Personalizar Nombre de Grupo Seleccionar el tab Options Habilitar la opcion Customize Group Name Field Seleccionar la forma de personalizar el nombre: Por campo: Un nombre mas descriptivo Por formula:Product id + Product Name

Crear Grupos Personalizados Crear el grupo Seleccionar el campo a agrupar Seleccionar in specified order, el metodo de ordenacion a presentar

Crear Grupos Personalizados Seleccionar el tab Specified Order Name Group, especificar el nombre del nuevo grupo Seleccionar New

Crear Grupos Personalizados Seleccionar el conjunto de registros que forman el nuevo grupo.

La seleccion consiste en crear un filtro de datos Click OK

Seleccion de Grupo de RegistrosGroup Selection consiste en aplicar un criterio de seleccion de grupos de registros sobre todo el reporte en lugar de registros. Report -> Seleccion Formulas -> Group El criterio de seleccion a nivel de grupo se basa en nombres de grupos o bien en totales a nivel de grupo. Ejemplo, basado en nombre de grupo: Formula: startswith "Xtreme

Ejemplo, basado en totales a nivel grupo: Formula o filtro: Sum ({@Line Total}, {Product.Product ID}) > $7000.00

Seleccin de Grupo de Registros

Grupos Jerarquicosinformacion en Permite agrupar datos en el reporte para presentar laforma jerarquica. El arreglo de la informacion se basa en la relacion que existe entre dos campos, padre e hijo. Para agrupar datos jerarquicamente: Crear el grupo sobre el campo que esta la base de la jerarquia Ordenar el grupo en forma ascendente Seleccionar Report -> Hierarchical Grouping Options

Grupos Jerarquicos Sumarizar a traves del grupo jerarquicoNota: Esta operacion es parte de la funcion de sumarizacion y solo esta disponible cuando la opcion del grupo jerarquico esta disponible.

Grupos Jerarquicos

Indentar JerarquiasEsta caracteristica nueva de Crystal Reports permite indentar jerarquias sin afectar otros campos. Click con el boton derecho de mouse sobre el campo agrupado jerarquicamente y seleccionar la opcion Size and Position

Indentar Jerarquias

Modulo 8: Formato Matricial

Matrices Una matriz es un arreglo de campos en forma de columnas y registros. Una matriz tambien se ve como una tabla que sumariza valores que son agrupados en dos direcciones a la vez. Ejemplo de matrices: Un reporte de ventas por region Un reporte de productos por costo Un reporte de venta de bicicletas por empleado por mes

Ejemplo: Venta de Bicicletas por empleado por mesPor la forma tradicional tabular (usando grupos)

Ejemplo: Venta de Bicicletas por empleado por mesPor la forma matricial

Crear Matrices Seleccionar Insert -> Cross-Tab o Click sobre el boton Ubicar la matriz en la seccion requerida Click boton derecho del mouse sobre la opcion Cross-Tab Expert

Crear Matrices Agrupar registros y columnas

Crear Matrices

Multiples registros y columnas

Crear Matrices

Por trimestr e

Por mes

Crear Matrices

Templates Seleccionar Cross-Tab Expert -> Style

Seleccionar Cross-Tab Expert -> Customize Style

Personalizar el Formato

Cambiar el color de fondo

Personalizar el Formato

Repetir encabezado de registros a traves de las paginas Usar Alias para los encabezados de columnas o registros Suprimir Totales, columnas y registros vacios Manejar el grid (como margen o como linea)

Formatear Celdas Seleccionar la celda a formatear Seleccionar la opcion Format Editor

Crear Grafica de una MatrizCon la caracteristica de Graficas Inteligentes, automaticamente se crea una grafica apartir de la matriz que ya se tiene defina

Resaltar ValoresUsar la funcion CurrentFieldValue para obtener el valor actual de una celda y condicionar el formato de la celda.

Modulo 9: Alertas

Crear Alertas Las Alertas son mensajes personalizados que aparecen cuando ciertas condiciones se cumplen. Crystal permite habilitar Alertas en Web con la aplicacion de Enterprise, por lo que estas pueden ser vistas desde dispositivos moviles. Seleccionar Report -> Alerts -> Create or Modify Alerts Click sobre el boton De New

Crear Alertas Name, nombre de la Alerta Message, mensaje que aparece (opcional) cuando la alerta es lanzada

Condicion, define la condicion que lanza la alerta count({Orders_Detail.Order ID},{Supplier.Supplier Name}) < 30

Crear Alertas Refrescar el reporte

Crea un reporte con los registros que cumplieron la condicion.

Click sobre el reporte generado para mostrar los registros que cumplieron la condicion.

Crear Alertas

Funciones de AlertasSon utilizadas para agregar informacion relacionada a las alertas dentro del reporte. Hay tres funciones en Crystal Reports: IsAlertEnabled: Regresa el valor de Verdadero si la opcion de habilitar la alerta es seleccionada, en otro caso regresa el valor de Falso. IsAlertTriggered: Regresa el valor de Verdadero si se estan evaluando triggers que disparen alertas, otro caso es Falso. AlertMessage: Regresa el mensaje que fue escrito dentro del cuadro de mensaje en la definicion de la alerta.

Funciones de Alertas

Funciones de Alertas

Mdulo 10: Plantillas

Plantillas Una Plantilla es un archivo predefinido que contiene formato el cual puede ser aplicado a un reporte. Las Plantillas permiten que el usuario tenga un mayor control sobre la prsentacion de los reportes. Cualquier usuario puede crear sus propios templates. Hay templates predefinidos con Crystal Reports. Las Plantillas pueden aplicarse a los reportes a traves de la funcion de Template Expert Seleccionar Report -> Template Expert o Click sobre el boton

Consideraciones de las Plantillas Se debe considerar aplicar un template cuya estructura sea similar al del reporte. Mal aplicado descompone el reporte. Las Plantillas afectan objetos como campos, nombre de grupos, campos sumarizados, lineas, cajas y bordes. Las Plantillas NO afectan objetos como subreportes, mapas, matrices, orden de agrupamiento.

Crear PlantillasSe debe inciar un reporte en blanco sin conexion. Insertar campos template: Seleccionar Insert -> Template Field Object

Formato de Campos S e l e c c i o n a r e l c a m p o template. Click boton derecho Format Template Field. Seleccionar el tipo de dato que almacenara el campo template : cadena, numerico, fecha. Seleccionar dentro de Field Explorer, cada una de las formulas creadas por los objetos templates.

Campos Plantilla

Guardar Plantilla Seleccionar File -> Summary Info -> Title (identificar template) Seleccionar Save Preview Picture Guardar el template dentro de la carpeta de templates: Home_BusinessObjects -> Crystal Reports 11 -> Templates

FIN DEL CURSO