# Crystal Reports

Crystal Reports es una aplicación de inteligencia empresarial utilizada para diseñar y generar informes desde una amplia gama de fuentes de datos (bases de datos).
Varias aplicaciones, como Microsoft Visual Studio, incluyen una versión OEM de Crystal Reports como una herramienta de propósito general para informes/reportes. Crystal Reports se convirtió en el escritor de informes estándar cuando Microsoft lo liberó con Visual Basic.

## Orígenes

El producto fue originalmente creado por Crystal Services Inc., la cual produjo las versiones 1.0 hasta la 3.0. La compañía fue posteriormente adquirida por Seagate Software, la que luego fue renombrada como Crystal Decisions, y produjo las versiones 4.0 hasta la 9.0. Crystal Decisions fue adquirida en diciembre de 2003 por Business Objects, la cual ha producido las versiones 10 y 11 (XI), y actualmente la versión 12 (2008). Business Objects fue adquirida el 8 de octubre de 2007 por SAP.

## Creando reportes/informes

Los usuarios, al instalar (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). Crystal Reports en un equipo y utilizarlo para seleccionar filas y columnas específicas de una tabla de datos compatibles, pueden organizar los datos en el informe en el formato que necesiten. Una vez que el diseño está completo, el informe se puede guardar/salvar como un archivo con extensión rpt. Se puede acceder nuevamente al informe reabriendo el mismo, y poder refrescar los datos. Si la fuente de base de datos se ha actualizado, el informe se refrescará reflejando estas actualizaciones.

### Tutoriales de Crystal Reports

En la página de Crystal Reports existe una serie de tutoriales, versión XI Server (se necesita flash instalado para acceder), explicativos de algunos aspectos, que quizás varíen en contenido, pero son similares a todas las versiones de Crystal Reports.
| Tema | Enlace |
| Creación de reportes | crxi_reportdesign.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Administración de reportes | crxi_webreportdelivery.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Entrega del informe | crxi_reportviewing.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Indicaciones dinámicas y en cascada | dynamic_cascading_prompts.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Comprobador de dependencias | dependency_checker.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Diseñador de mejoras | designer_improvements.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Trazado de arrastrar y soltar | intelligent_charting.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Ubicación de imagen dinámica | dynamic_image_location.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Agrupación jerárquica | hierarchical_grouping.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Vista previa HTML | html_preview.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Formato de exportación RTF | editable_rtf_export_format.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Controladores de datos de actualización (o puesta al día) | updated_data_drivers.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |
| Banco de trabajo | workbench.asp (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). |

## Informe en blanco

Una de la opciones para la creación de informes es comenzar desde cero. Para cargar las bases de datos existe un Asistente de base de datos, donde muestra los siguientes orígenes de datos soportados:
| Origen de datos | Características |
| Conexiones actuales | Carpeta que muestra una lista de los orígenes de datos a los que está conectado actualmente. |
| Favoritos | Muestra una lista de los orígenes de datos que se utilizan normalmente y que se ha mantenido en la lista Favoritos. |
| Historial | Muestra una lista de los orígenes de datos utilizados recientemente. Se muestran las últimas cinco fuentes de datos. |
| Crear una nueva conexión | Muestra las subcarpetas de varios orígenes de datos a los que se puede conectar. |
| Access-Excel (DAO) | Access - dBASE 5.0, III y IV - Excel 3.0, 4.0 y 5.0 - Importación de HTML - Lotus WK1, WK3, WK4 - Paradox 3.x, 4.x, y 5.x - Texto |
| ADO.NET (XML) |
| Archivos de base de datos: | Excel: .xls, .xlw - Archivos XML: .xml, .xsd - Definición de campo: .ttx - Archivos xBase: .dbf - Diccionarios Btrieve: .ddf - Archivos Access: .mdb - Archivos de vínculos de datos: .udl |
| Exchange 5.5 Message Tracking Log | |
| Exhange Message Tracking Log | |
| Legacy Exchange | |
| Mailbox Admin | |
| ODBC (RDO): | Base de datos Xtreme 11.5 - dBASE Files - Excel Files - MS Access Database - Xtreme Sample Database 11.5 |
| Olap |
| OLE DB (ADO) | Microsoft Jet 4.0 OLE DB - Microsoft Office 12.0 Access Database Engine OLE DB - Microsoft OLE DB for: Analysis Services 9.0 , Data Mining Services, Indexing Service, Internet Publishing, ODBC Drivers, OLAP Servides 8.0, Oracle, SQL Server, Simple - MSdataShape - Proveedor de bases de datos OLE para servicios de directorio de Microsoft |
| Outlook/Exchange |
| Public Folder ACL |
| Puclic Folder Admin |
| Public Folder Replica |
| Registro de eventos actuales de NT |
| Registro de eventos archivados NT |
| Sólo definiciones de campo |
| Universos | Se conecta a BusinessObjects Enterprise) |
| Web/IIS Log Files |
| xBase (.dbf) |
| XML |
| Más orígenes de datos... |
| Repositorio | Se conecta a ). Muestra el contenido del repositorio mediante el Explorador de BusinessObjects Enterprise. La hacer clic en Establecer nueva conexión, para abrir el Explorador de BusinessObjects Enterprise; se puede seleccionar un comando SQL o una vista empresarial existentes. |

### Tablas múltiples

Si se ha creado un informe que posee datos de dos o más tablas, desde una base de datos en los formatos soportados, tendrá que vincular durante el proceso de elaboración del informe (antes de agregar el contenido al informe).

#### Agregar y vincular tablas múltiples

* Elegir el comando Asistente de base de datos, del menú Base de datos (aparece el cuadro de diálogo Asistente de base de datos).
* En la ficha Datos, se deben seleccionar las tablas que se desee agregar al informe (aparece la ficha Vínculos en el Asistente de base de datos.

### Campos

Muchos de los datos que se pueden insertar en el informe son campos de base de datos seleccionada. Estos mostrarán los datos tal como están almacenados en la base de datos.
Para insertar campos se debe seguir el siguiente procedimiento:...
* Ir a la barra de herramientas estándar, clic sobre Explorador de campos.
   * Aparece el cuadro de diálogo Explorador de campos.
* Expandir la carpeta Campos de base de datos, para ver todas las tablas seleccionadas en las bases de datos.
* Expandir las tablas de forma individual para ver todos los campos que contienen.
* Hacer clic sobre el campo que se quiere insertar en el informe.
* Hacer clic sobre el botón Examinar para revisar los valores del campo seleccionado.
* Hacer clic en Insertar en informe para colocarlo en el informe, o bien, hacer clic y arrastrar hasta un lugar deseado, preferentemente en la sección "Detalles".

#### Campos de fórmula

Si se quieren desplegar datos que son valores calculados, tendrá que crear un campo de fórmula y ponerlo en el informe, similarmente a lo anterior (arrastrar hasta el lugar deseado, o insertarlo).
Se cuenta con un amplio espectro de fórmulas disponibles para la creación de estas. Las cuales pueden ser programadas o creadas según el lenguaje crystal, integrado al programa, o bien, utilizando la sintaxis de Basic (Visual Basic).

##### Ejemplos

* Campos
* Texto
* Operadores
* Funciones (las funciones realizan cálculos tales como promedio, suma y conteo. Las funciones disponibles se listan con sus argumentos y se organizan según su uso).
* Estructuras de control
* Valores de campo de grupo (Por ejemplo, se pueden usar valores de campo de grupo para buscar el porcentaje del total general aportado por cada grupo).
* Mezcla de muchos parámetros:

#### Campos de enunciado SQL

Éstos son como fórmulas, pero escritos en SQL, y no en el lenguaje de fórmula de Crystal Reports. Los enunciados de SQL son usados, entre otras cosas, para obtener un conjunto específico de datos de una base de datos, pudiendo ordenar, agrupar y seleccionar datos, basándose en campos de enunciados SQL.
Los campos de enunciado SQL, son de utilidad a la hora de optimizar el rendimiento de los informes, ya que las tareas que ejecutan se realizan normalmente en el servidor de la base de datos, en contraposición con una fórmula regular que a veces se ejecuta en el equipo local.
Tanto la sintaxis Crystal (nativa de Crystal Reports), como la sintaxis Basic permiten mejorar y precisar las fórmulas de tal forma que sería difícil o imposible hacerlo con SQL. En algunas circunstancias, sin embargo, la creación y el uso de campos de enunciados SQL puede acelerar el proceso de los informes.

##### Crear un campo de enunciado SQL

* Ir a la barra de herramientas estándar, hacer clic en Explorador de campos.
   * Aparece el cuadro de diálogo Explorador de campos.
* Ir hasta Campos de enunciados SQL. Hacer clic en Nuevo.
   * Aparece el cuadro de diálogo Nombre del enunciado SQL.
* Escribir el nombre en el cuadro Nombre, y Aceptar.
   * Aparece el Formula Workshop con el Editor de enunciados SQL activo.
* Escribir el enunciado en el Editor de enunciados SQL.
* Guardar.

#### Campos de parámetro

Sirven para solicitar al usuario de un informe que especifique información. De esta manera se crear un campo de parámetro. Los parámetros son como preguntas que el usuario necesita responder antes de que se genere el informe. La información que escribe el usuario, o la forma en que responde, determina lo que aparece en el informe.
Los parámetro pueden ser creados con datos fijos (estáticos), dinámicos si los datos experimentan cambios, o en forma de cascada, donde le usuario del informe selecciona de una lista desplegable aquello que desea ver.

### Vista previa y exportación de reportes/informes

El informe puede ser visto de antemano en la pantalla (con el comando CTRL+R), imprimir en papel, o se exportado a uno de los diversos formatos de archivo soportados:
* .pdf, siguiendo: Archivo > Exportar > Exportar Informe.
* .rtf de Microsoft Word, .xls de Microsoft Excel (en dos versiones, una de sólo datos y la otra convencional), .CSV o texto (.txt), siguiendo: Archivo > Exportar > Opciones de exportación de informes...