Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INDICE
Iniciando un nuevo reporte ..................................................................................................................................... 4 Secciones del Reporte ............................................................................................................................................. 6 Formato de los objetos ............................................................................................................................................ 6 Utilizando objetos de textos.................................................................................................................................... 7 Importante ............................................................................................................................................................... 7 Seleccin de Registros ............................................................................................................................................ 9 Refrescando el reporte VS. Usando datos guardados ............................................................................................. 9 Limitando datos con el criterio de seleccin de grupos........................................................................................ 10 Consideraciones de Performance.......................................................................................................................... 10 Ordenando, Agrupando y Sumarizando................................................................................................................ 11 Agrupando............................................................................................................................................................. 11 Importante ............................................................................................................................................................. 12 Sumarizaciones ms utilizadas ............................................................................................................................ 12 Top N / Botton N .................................................................................................................................................. 14 Problemas que surgen al insertar grupos .............................................................................................................. 14 Campos de Frmula .............................................................................................................................................. 15 Variables en frmulas ........................................................................................................................................... 16 Running Total ....................................................................................................................................................... 16 Formato Avanzado................................................................................................................................................ 17 The Hightlighting Expert ...................................................................................................................................... 18 Formato de las Secciones...................................................................................................................................... 20 El Section Expert............................................................................................................................................... 20 Parmetros............................................................................................................................................................. 22 Seteando valores por default................................................................................................................................. 23 Mtodos para generar las Listas de Valores Dinmicas ....................................................................................... 23 Utilizando Listas de Valores Dinmicas ya existentes ......................................................................................... 24 Otro uso de los parmetros ................................................................................................................................... 24 Objetos Cross Tab ............................................................................................................................................ 26 Cambiando el objeto Cross Tab............................................................................................................................ 26 Suprimiendo Subtotales y etiquetas ...................................................................................................................... 27 Mejorando la apariencia de un Cross Tab............................................................................................................ 27 Importante ............................................................................................................................................................. 27 Subreportes ........................................................................................................................................................... 28 Grficos................................................................................................................................................................. 30 Chart Expert .......................................................................................................................................................... 30 Chart Analyzer ...................................................................................................................................................... 32 Anexo A: Forma en que Crystal Reports genera los reportes ........................................................................... 33 Anexo B: Haciendo reportes desde bases de datos SQL ............................................................................... 36 Logearse a SQL Database..................................................................................................................................... 36 Drivers de Acceso Directo .................................................................................................................................... 36 ODBC ................................................................................................................................................................... 36 Cambiar un reporte de una base PC Style a una Cliente/Servidor...................................................................... 36 Linkeando Tablas.................................................................................................................................................. 37 Diferencias de Linking entre PC-Style y SQL Databases .................................................................................... 37
Usando mltiple tipos de base de datos en un mismo reporte .............................................................................. 37 Tipos de Join ......................................................................................................................................................... 38 Tabla de la Izquierda y Tabla de la derecha ......................................................................................................... 39 Sentencias SQL..................................................................................................................................................... 39 Usando SQL Stored Procedures............................................................................................................................ 39 Usando SQL Expresin Fields.............................................................................................................................. 40 Agrupando en el Servidor ..................................................................................................................................... 40 Efectos del Drill Down ......................................................................................................................................... 40 Consideraciones de Performance.......................................................................................................................... 40 Anexo C: Otras Consideraciones .................................................................................................................. 41 Instalacin Crystal Reports .................................................................................................................................. 41 Instalacin Crystal Reports for .NET................................................................................................................... 41 Actualizacin ........................................................................................................................................................ 42 Compatibilidad con versiones anteriores .............................................................................................................. 42 Notas y limitaciones.............................................................................................................................................. 43 Integracin con Crystal Enterprise........................................................................................................................ 45 Impresin y exportacin ....................................................................................................................................... 46 Acceso a datos....................................................................................................................................................... 46
Standard: ste es el asistente ms genrico y usado. A travs de los tabs, del mismo, se puede no solo seleccionar la fuente de datos, las tablas, hacer los links, seleccionar los campos a visualizar en el reporte, sino tambin ordenar los registros, agruparlos, insertar sumarizaciones, insertar filtros y grficos. Mail Label: Etiquetas para cartas. Cross Tab: Permite crear reportes en los cuales los datos son mostrados en un objeto Cross Tab. OLAP: Este asistente est orientado a realizar reportes con fuentes de datos multidimensionales, permitiendo desplegar la informacin de los cubos en una grilla muy parecida al cross-tab. Crystal Reports posee conectividad con: Business Warehouse, Essbase Cube, IBM DB2 Cube, OLE DB for OLAP, Informix MetaCube, Holos HDC Cube.
Tambin se puede comenzar eligiendo la opcin de un reporte en blanco. Mediante esta opcin, lo primero que hay que hacer es seleccionar la fuente de datos. Una vez seleccionada la misma, se puede comenzar a desarrollar el reporte. Mediante el Explorador de Campos, el cual se accede desde el men o desde la barra de herramientas, se pueden elegir los campos de la fuentes de datos seleccionada y otros tipos de campos, que explicaremos a lo largo del documento, con los que queremos armar el reporte.
En cualquiera de las dos opciones que utilizamos para armar un reporte, si elegimos mas de una tabla, automticamente va a aparecer una ventana llamada Visual Linking Expert, mediante la cual podemos establecer las relaciones entre las tablas seleccionadas previamente. Estos links o Join, se pueden establecer con diferentes opciones.
Importante
Los objetos de tipo texto se pueden combinar con campos de la fuente de datos o campos de frmulas o parmetros. Supongamos que tenemos la siguiente situacin: disponemos de dos campos de la fuente de datos de tipo string y el contenido del mismo es de longitud variable. Un campo contiene el nombre del cliente y el otro el apellido y queremos mostrar primero el apellido, a continuacin una coma, y despus el nombre. Para resolver esto, insertamos ambos campos separados por una coma dentro de un objeto texto. Al insertar un campo dentro de un objeto de texto, ste se ajusta el tamao del mismo resolviendo el inconveniente propuesto, quedando no solo en forma mas prolija sino tambin en un solo campo, permitiendo de este modo tratar al mismo como un objeto nico, para moverlo o darle formato en forma global si as lo quisiera. Se pueden combinar tambin con campos especiales(Son campos incluidos en Crystal Reports, como nmero de pgina, ttulo, autor, etc.), parmetros o frmulas.
Consideraciones de Performance
Crystal Reports debe hacer muchos clculos internos para combinar y ajustar el tamao, que degradan la performance. Por lo tanto se recomienda combinar objetos de texto con campos, pero en secciones que no se repitan tanto, como los Headers y/o Footer. Si se inserta en la seccin detail se procesa cada vez que se lee un registro, si es necesario se recomienda usar frmulas que son mas performantes. Tratar de no usar el clsico Pag. xx de xx, debido a que el reporte debe calcular el total de pginas antes de poder mostrar la primer pagina. Es decir, que de no usar este tipo de campos, Crystal Report muestra la primer
Zona-Crystal.com - Crystal Reports: Manual Avanzado 7
pagina sin tener que darle formato a las pginas siguientes, lo cual hace que en reportes extensos, sea sumamente performante.
Seleccin de Registros
A travs del Record Selection Frmula se pueden filtrar los registros que son ledos de la fuente de datos y trados al reporte. Sirve principalmente para evitar, en bases de millones de registros, traer todos los registros, incluso los que no nos interesan. En sntesis, vendra a hacer la clusula WHERE de una consulta SQL, aqu tambin se pueden combinar diferentes criterios de filtro relacionndolos por medio de and o or.
datos, sino que, lo aplic a los datos guardados. Deberamos hacer un refresh para cercioraron que el resultado anterior es correcto. Cuando se usa el select expert con una base de tipo PC-Style , hay que tener en cuenta que son case sensitive, por lo cual hay que estar atento al escribir la frmula. Usar la funcin uppercase (campo)=Criterio en mayscula.
Consideraciones de Performance
La seleccin de registros es la parte mas crtica del reporte ya que es donde ms tarda. Como vimos anteriormente Crystal genera una consulta SQL para leer los registros, con lo cual es fundamental optimizar dicha consulta. Como primer consideracin hay que intentar no utilizar funciones de Crystal en el filtro, as el filtro puede ser traducido al lenguaje SQL de la fuente de datos con la que estemos trabajando y de esta manera que sea el motor de la fuente de datos el que haga el trabajo de filtrar los registros y no Crystal, que lo realiza registro a registro a medida que los va leyendo, lo cual es ms lento. Para evitar el uso de funciones de Crystal, la herramienta provee, para cierto tipo de base de datos (Access, SQL Server, Oracle) los SQL Expressions que son como frmulas en las cuales podemos utilizar diferentes funciones (dependen del lenguaje de base de datos) evitando as, usar funciones de Crystal que no son interpretadas.
10
Agrupando
La agrupacin lo que hace es juntar todos los registros que tengan el mismo valor del campo por el cual se est agrupando. Se puede definir un grupo desde el men o desde el botn en la barra de herramientas en base a un campo de la fuente de datos o una frmula.
11
Crystal permite definir N grupos en un solo reporte, no hay limitaciones en cuanto a cantidad de grupos se refiere. Al insertar un grupo en el reporte, se crean dos secciones mas en el mismo, por encima y por debajo de la seccion Details o en su defecto del o los grupo/s ya definido/s:
El Group Header (Generalmente se coloca el nombre del grupo) El Group Footer (Generalmente se coloca la sumarizacin).
A su vez, al hacer una vista previa, aparece un rbol a la izquierda del reporte, llamado Group Tree, que sirve para acceder de forma mas rpida (Acceso Directo) a un grupo en particular y para visualizar la estructura jerrquica cuando hay mltiples grupos. El usuario final, que consultara el reporte, puede ocultar el Group Tree mediante las opciones del viewer.
Importante
Otra de las cosas a tener en cuenta es que la jerarqua generada por los grupos est dada en el orden que se encuentran los mismos. Que significa esto, que si generamos un grupo por Pas primero (G1) y un grupo por Provincia despus (G2), la estructura generada va a estar dada por el G1 y el G2, es decir, por Pas y despus por Provincia. Ahora bien, supongamos que generamos primero el grupo por Provincia (G1), y despus generamos el grupo por pas (G2), la estructura generada va ser Provincia Pas, la cual es incorrecta. Cmo corregimos esto?? No es necesario borrar todos los grupos existentes y volver a crearlos en el orden correcto como para que genere la estructura en forma correcta, lo que podemos hacer es corregir el orden de los mismos, o bien arrastrando la seccin del grupo en cuestin al lugar correcto o mediante el Change Group Expert por el men. Una vez, generados l o los grupos, se est en condiciones de poder definir diferentes sumarizaciones en base a ellos. Al agregar un subtotal Crystal lo coloca automticamente en el footer del o los grupos seleccionados, lo cual no significa que no puedan ir en los header de las secciones involucradas. Para ello simplemente se arrastra. A su vez, los subtotales se pueden copiar y pegar en los diferentes niveles de agrupacin que tengamos, ya que stos, simplemente tienen asociados la operatoria designada, de est forma, evitamos volver a crearlos.
Sumarizaciones ms utilizadas
Sum: Suma los valores de campos de tipo numrico. Count: Cuenta tos los campos ledos ya sean de tipo numrico o string Average: Calcula el promedio Maximum: Calcula el mximo Minimum: Calcula el mnimo Distinct Count: Cuenta los distintos. Si el campo que queremos sumarizar contiene valores nulos la funcin de sumarizacin no los va a tener en cuenta. Hay una opcin que permite convertir los valores nulos a cero o empty string en Report Options.
12
Drill-Down
La importancia de definir grupos, no solo est dada por la posibilidad de mostrar informacin sumarizada sino tambin la posibilidad de hacer drill down, la cual nos permite ir explorando la informacin por los diferentes grupos, bajando de un grupo a otra hasta llegar al nivel de detalle del reporte.
13
Se puede hacer drill down a travs del reporte o el Grupo Tree. En el reporte se puede cliquear sobre el Group Name o sobre el valor sumarizado para hacer drill down. En algunas ocasiones se necesita impedir que el usuario haga drill down, por ejemplo sobre los valores que calcul la sumarizacin. Para resolver este problema se deben insertar campo resultado dentro de un objeto de texto.
Top N / Botton N
Para poder definir un Top N o Botton N, es necesario que en el reporte exista al menos un grupo y alguna sumarizacin por el mismo, debido a que se estos se definen en base a un subtotal o una sumarizacin de un grupo. En la versin XI se incorpor la posibilidad de definir por medio de una formula la cantidad de registros a visualizar, en las versiones anteriores el parmetro N se define de forma fija. Una aclaracin importante es que, no se puede hacer un sub-total de los Top N o Botton N, debido a la forma en que Crystal los calcula. Para solucionar esto, se debe usar un campo Runnig Total
14
Campos de Frmula
Los campo de frmulas son objetos que se construyen a partir de campos existentes en la fuente de datos con funciones definidas por el usuario de desarrollo y que se manejan como si fuera un campo mas de la base. Obteniendo de esta manera campos o clculos que no vienen definidos en la fuente de datos. Para insertar un campo de frmula, se debe ir al Explorador de Campos
Al crear una nueva frmula, primero se le debe asignar un nombre (el cual figura en el Explorador de Campos) y luego se abre el Editor de Frmulas.
Los campos frmulas pueden ser creados con sintaxis Crystal o con sintaxis Basic, la diferencia radica en el lenguaje de escritura de las mismas. La sintaxis Crystal es un lenguaje muy parecido a los lenguajes de programacin pero es un lenguaje propio de Crystal, en cambio, la sintaxis Basic resulta ms sencilla para aquellos usuarios que estn familiarizados con Visual Basic.
15
El editor de frmulas, posee tres arboles diferentes. Uno con los campos de la fuente de datos seleccionada, y todos aquellos elementos que se definan en el reporte. Otro con las funciones de Crystal y por ltimo, uno de Operadores, los cuales facilitan al usuario la construccin de frmulas.
Variables en frmulas
Hay ocasiones en las que se necesita mantener el valor registro a registro, lo cual se resuelve mediante el uso de variables. Hay diferentes tipos de variables y con tres diferentes alcances: Local: Mantienen el valor en la frmula en la que fue definida. Global: La variable mantiene el valor en todo el Reporte. Una variable definida en una frmula puede ser usada en otra frmula, incluso en otra seccin. Por defecto sino definimos el alcance de un a variable al declararla, este es de alcance global. Shared: Sirven para compartir variables entre un Reporte y un Sub-Reporte, de gran utilidad cuando queremos traer informacin del Sub-Reporte al Reporte Principal.
Running Total
Es un campo, que brinda flexibilidad para acumular o incrementar los valores. Se calcula en (WhilePrintingRecords) y hace la operacin de sumatoria definida con los datos que van a ser impresos. Algunos de los principales tipos de sumatorias que realiza son: Sum, Count, Average. Sirve para resolver el problema que se tiene al querer sumarizar los valores de cierto grupo que tiene un Top/Botton N, ya que al hacer un Sub-Total de los Top/Botton N, me suma todos los valores de los grupos. No se pueden crear Running Total en base a frmulas que se evalan en la segunda pasada, ni en base a graficos y mapas.
16
17
Formato Avanzado
The Hightlighting Expert
Permite dar formato a los campos dependiendo de los valores que estos tengan. Es de gran utilidad cuando se presenta el caso donde en funcin de varias condiciones queremos dar formato a un campo, incluso estas condiciones tienen prioridades. La desventaja que posse, es que se debe configurar campo por campo, no podemos hacerlo al mismo tiempo para varios campos. Por ejemplo: Si la deuda es mayor a 1000 mostrar en rojo, si la deuda es menor o igual a 1000 pero mayor a 100 mostrar en azul y si es menos o igual a 100 dejar como est. Para realizar este tipo de formato condicional, es una muy buena opcin utilizar el Hightlighting Expert
18
Imagenes
Se puede variablizar la imagen que se sita en un Reporte, hacienda variable la ubicacin de la misma.
19
El Section Expert
Free form placement: Permite mover objetos y que se ajusten a las guas Hide(drill- down ok): Permite ocultar la seccin para hacer drill down. Suppress: Suprime la seccin y todos los objetos dentro de ella. Es la ms utilizada y practica. New Page Before: Empieza una pagina nueva antes de imprimir la seccin New page after: Empieza una pgina nueva despus de imprimir la seccin Suppress blank Section: Suprime la seccin si no hay objetos dentro de ella Underlay Following Section: Cada seccin empieza donde termina la anterior. Si esta seleccionada esta opcin en la seccin B, dicha seccin imprime el contenido de la misma, en las siguiente, es decir las secciones siguiente no empiezan donde termina la seccin B. Sirve para acomodar grficos al costado de
20
los datos, poner imgenes de fondo, poner informacin de un Sub-Reporte como doble columna en el reporte principal
21
Parmetros
Los campos parmetros sirven para que el usuario final pueda ingresar datos al reporte, de esta forma se puede hacer variable el reporte tanto en informacin, si se utiliza para cambiar el criterio de seleccin de registros, o en formato, si se utiliza para hacer condicional el formato de los campos. Para crear un parmetro se hace desde el Explorador de Campos.
Cuando se hace un refresh del reporte y este contiene parmetros, Crystal, ofrece la opcin de usar los valores asignados previamente al parmetro o definir nuevos valores. El valor que es ingresado, luego es pasado, segn su utilizacin, al Record Selection Frmula, o al editor de frmula de formato condicional del campo que corresponda. Los parmetros tambin se pueden mostrar en un reporte y manipularlos como los campos de la base o frmulas. Para los parmetros que permiten mltiples valores o valores de rango, se les deber hacer un tratamiento especial para mostrar en el reporte los valores ingresados por el usuario. Los tipos de parmetros pueden ser Simples o en Cascada, donde los tipos de datos van acorde a los posibles en Crystal Reports. Los parmetros simples son aquellos parmetros que solo tienen definido un solo nivel de carga y el valor a ingresar no depende de otro valor ingresado. En cambio los parmetros en cascada pueden tener diferentes niveles de carga de valores, donde cada uno de ellos va filtrando los valores de los niveles inferiores. Por ejemplo, si tuviramos que realizar un reporte de clientes, donde el filtro del mismo, sea la ciudad, podemos realizar un parmetro en cascada con los siguientes niveles de carga: Pas Regin Ciudad. De este modo el usuario primero seleccionara un Pas, luego cuando vaya a seleccionar una regin, solo ver las regiones del
22
pas previamente seleccionado. Luego de seleccionar una regin deber seleccionar la ciudad, donde solo ver las ciudades correspondientes a la regin previamente seleccionada. En el caso de los parmetros en cascada podemos generar un parmetro para cada nivel o simplemente generamos un solo parmetro para el ltimo nivel de la cascada.
23
4) Generar un Business View: Conjunto de Business Element, del cual un usuario final podra desarrollar reportes, sin tener que conocer el Modelo de Datos Relacional. 5) Generar una Lista de Valores: La lista de valores se genera en base a un Business View 6) Configurar el esquema a utilizar para la actualizacin de la Lista de Valores, es decir, se puede configurar que se actualice cada n segundos o programar la actualizacin de la lista, similar a un scheduled de un Reporte en Enterprise. IMPORTANTE: Al visualizar el Reporte en enterprise puede suceder que se solicite ingresar usuario y password de la base de datos donde se obtiene la lista dinmica. Para que esto no suceda se debe setear en la conexin que utiliza la Lista Dinmica, que no pregunte usuario y password cada vez que se ejecuta la lista y definirle un usuario y password para realizar la conexin.
24
d) Tambin se puede usar los parmetros para ordenar o agrupar, creando una frmula como por ejemplo: IF {group by }= Country THEN {Customer.country} ELSE {Customer.region} Al usar este tipo de frmulas para agrupar, s esta obligando a que Crystal haga el trabajo, si es que se est usando una base SQL, perdiendo performance ya que el trabajo de agrupar y ordenar lo podra estar haciendo el servidor.
25
26
Cuando se agrega otra campo a la fila o columna, se crea una relacin de grupo entre los campos, que debe ser coherente y tener lgica. Se debe pensar en la relacin de que en un grupo hay muchos grupos pertenecientes al mismo, con lo cual se define una estructura jerrquica.
Importante
A pesar de que tanto las filas como las columnas, estn conformadas por grupos, no se puede utilizar la funcionalidad del Drill Down. Para esto lo que se puede hacer es utilizar una combinacin de grupos del reporte con Cross Tab. As como mencionamos la gran utilidad que tiene este objeto, al hacer descomponer un valor en forma variable tanto en las filas como en las columnas, una gran desventaja del mismo es que no se pueden calcular porcentajes en los mismos. De existir la necesidad de hacerlo y si se trabaja con una base SQL, podramos utilizar un Stored Procedure, que calcule los valores y los porcentajes y utilizar el Cross Tab simplemente para mostrar los datos calculados por el SP.
27
Subreportes
Algunos problemas que no se pueden resolver con reportes tradicionales:
Una lista de ordenes por clientes y por mes , que tambin contenga los 5 productos mas vendidos del mes, sin importar los clientes. Un reporte basado en un pc-style database que no se puede linkear, debido a que no hay campos indexados. Un reporte que contenga informacin de una tabla, que no contengan un campo que pueda ser linkeada con otra y necesitemos mostrar la informacin en un solo reporte.
Subreportes Unlinked
Son los que se manejan completamente separados del Reporte Principal y no hay nada que los una.
Subreporte Linkeados
Estos tipos de reportes son controlados por el reporte principal. Es decir, los subreportes devuelven y/o dan formato a la informacin sobre la base de un campo del reporte principal que funciona como parmetro para el subreporte. Esto se realiza mediante un link entre el Reporte Principal y el Subreporte. Este tipo de link hace lo siguiente: pasa datos del Reporte Principal al Subreporte, el cual lo almacena en un campo parmetro, para luego utilizarlo donde corresponda. Es por ello, que cuando se desarrolla el subreporte por separado, como un Reporte Normal, al hacer una vista previa del mismo, aparece la ventana para ingresar el valor del campo parmetro, y una vez incorporado al Reporte Principal como subreporte y realizado el link, no lo solicita ms.
28
Otros de los benficos de hacer link entre reportes, es poder hacer links entre las tablas que componen ambos reportes, mediante la utilizacin de frmulas, si es que los campos mediante los cuales queremos establecer la relacin son de diferentes tipos de datos. En cuanto a la forma de ejecucin, tambin encontramos dos tipos diferentes de subreportes:
Observaciones:
Los pasos 1 y 2, deben estar en secciones anteriores a la seccin donde se encuentra el subreporte y el paso 5 debe estar en una seccin posterior a la seccin donde se encuentra el subreporte. Este tipo de pasaje de informacin no funciona en subreporte que son en demanda, debido a que no se ejecutan hasta que el usuario lo requiera, por lo tanto en el reporte principal no se contara con dicha informacin, aun luego de que se ejecute, ya que al hacerlo es en una instancia diferente.
29
Grficos
Al crear grficos hay que tener dos cosas en cuenta: Una es el Chart Type, que se refiere al tipo de grafico elegido para representar los datos. El Char Layout, se refiere a los datos que van a ser usados, si viene de la seccin de detalles, de sumarizaciones de grupos. Los tipos de grficos ms usados son: BAR: El grafico de barras , sirve por ejemplo, para comparar un grupo de otro, donde cada barra representa a las distintas sumarizaciones de los grupos. LINE: Muestran la tendencia en el tiempo a travs de una lnea. Sirve para reportes con muchos grupos. AREA: Es igual al grafico de lneas, pero con la parte de debajo de cada lnea pintada de un color. No sirve para mltiples grupos ya que se superponen. PIE: Es el clsico grafico de tortas donde cada porcin, por ejemplo puede representar un porcentaje. Doughnut: es igual al grafico de tortas pero tiene un hueco redondo en el medio que representa el Grand Total; 3-D Raiser: Es la versin en tres dimensiones del grfico de barras. Son muy buenos para usar con los Cross Tab ya que te permiten ver la informacin por una dimensin o por la otra. 3-D Surface: Es la versin del grafico de reas en tres dimensiones. Tambin sirven para los Cross Tab Es importante entender la diferencia entre un grafico de grupo o de rea, y saber donde puede ser colocado en el reporte. Un grafico siempre debe ser colocado en al menos un nivel mas alto de los datos que esta representando. Un Detail Chart debe colocarse al menos en un Group Footer o Header, o en el Report Footer o Header. Un Group Chart debe ser colocado al menos, en el Report Footer o Header, o en un nivel superior si existen mltiples niveles de grupo. Nunca se puede poner un grfico en la seccin de detalle. Los grficos basados en Cross Tabs o en OLAP, no deben cumplir con el requisito de ser colocados en un nivel superior.
30
Chart Expert
El Chart Expert facilita la construccin de reportes, donde el Type Tab contiene las distintas opciones de tipos de grficos, el Data Tab permite elegir de donde se va a nutrir de informacin el grfico. Si se selecciona un Group Chart, es condicin necesaria que adems de existir un grupo exista algn subtotal o una sumarizacin, para poder hacer el grfico. Se puede hacer grficos con mltiples niveles de grupo. Con esta opcin se pueden generar diferentes grficos para los distintos niveles de la jerarqua e ir profundizando la informacin con el mtodo de Drill-Down. Si se selecciona un Advance Chart , se pueden crear grupos invisibles, o sea que no aparezcan en el Group Tree, pero que si este en el grfico con la opcin On change of. Se puede usar la opcin de los Top/Botton N en este tipo de grficos, cambiar los tipos de sumarizaciones, ordenar el orden del grupos invisibles. Si se selecciona Cross Tab Chart, debe haber un objeto Cross Tab en el reporte, quedando muy bien los grficos en 3-D. Si se selecciona un grfico OLAP debe haber un OLAP Grid. Es muy parecido a crear un Cross Tab Chart, quedando muy bien los grficos en 3D.
31
Chart Analyzer
Sirve para visualizar el grfico y darle formato. A lo nico que hay que prestarle atencin, cuando se usa el Chart Analyzer para dar formato, es a replicarlo al resto de los grficos si es que hay ms de uno. Lo que suele ocurrir es darle formato a un grafico, de algn grupo en particular y luego al ver el mismo grfico, para otro grupo, no ver los cambios realizados recientemente y pensar que se borraron.
32
Qu es una pasada?
Una pasada es un proceso que Crystal Reports usa cada vez que se leen o se manipulan los datos. Dependiendo de la complejidad del informe, Crystal Reports puede hacer 1, 2 o 3 pasadas sobre los datos. Esta funcin permite complejas tareas de elaboracin de informes y manipulacin de frmulas.
Previa n 1
Al observar una vista previa de un informe, los primeros elementos que se evalan son las frmulas constantes. Las frmulas constantes son aquellas que tienen un valor constante durante todo el informe. Es decir, no cambian de un registro a otro. Por ejemplo, 100* 30 sera una frmula constante. Las frmulas constantes se evalan al comienzo del proceso de generacin de impresin y no se vuelven a evaluar. Este proceso se conoce como BeforeReadingRecords. Si ubicara un campo de frmula constante (es decir, 100*30) en la seccin Detalles, el resultado sera 3.000 para cada registro que se muestre.
Pasada n 1
Despus que se ha producido el proceso BeforeReadingRecords, Crystal Reports comienza a leer los registros de la base de datos. Durante el proceso de lectura de registros, ocurrir lo siguiente: Recuperacin de registros. Donde la posible seleccin y ordenamiento de registros se transfieren a la base de datos en este paso. Evaluacin de frmulas recurrentes. Estas frmulas contienen campos de base de datos, pero no contienen referencias a subtotales o informacin de resumen. Este tiempo de evaluacin se conoce como WhileReadingRecords. Las frmulas que contienen referencias a subtotales o informacin de resumen se procesan en la segunda pasada. Aplicacin local de la seleccin de registros. Si la seleccin de registros es demasiado compleja para transferirla a la base de datos, Crystal Reports se encarga de aplicarla en este paso. Ordenamiento, agrupamiento y clculo de totales. En este paso, Crystal Reports ordena los registros, los separa en grupos y luego calcula los subtotales y resmenes necesarios para cada grupo. Generacin de tablas cruzadas, grficos y mapas. En la Pasada n 1 slo se generarn las tablas cruzadas, los grficos y los mapas que estn basados totalmente en campos de bases de datos y frmulas recurrentes. Si estos objetos contienen totales acumulados o frmulas PrintTime, se generarn en la Pasada n 2. Almacenamiento de datos guardados. Despus de terminar el proceso de clculo de totales, todos los registros y totales se almacenan en la memoria y en archivos temporales. Crystal Reports no lee la base de datos nuevamente, sino que utiliza los datos guardados durante todo el procesamiento posterior.
33
Pasada previa n 2
Durante la Pasada previa n 2, Crystal Reports ordena los grupos del informe para lograr un agrupamiento jerrquico o N superiores/inferiores. Los registros no se leen en este proceso, en cambio Crystal Reports slo ve las instancias de grupo de la Pasada 1 y toma los N superiores como apropiados, o bien ordena los grupos segn la configuracin especificada de agrupamiento jerrquico.
Pasada n 2
Crystal Reports realiza la segunda pasada por los datos para dar formato a las pginas. A las pginas se les da formato a la orden. Esto significa que Crystal Reports no dar formato a una pgina hasta que el usuario lo indique o hasta que lo requiera el recuento total de pginas en la Pasada n 3. Durante el proceso de dar formato a las pginas, Crystal Reports realiza lo siguiente: Frmulas de seleccin de grupos. Totales acumulados. Clculo de frmulas marcadas como WhilePrinting Records. Estas frmulas contienen referencias a los subtotales o a la informacin de resumen, tambin conocidas como frmulas PrintTime. Este tiempo de evaluacin se conoce como WhilePrinting Records. Tablas cruzadas, grficos y mapas. Las tablas cruzadas, los grficos y los mapas que incluyen totales acumulados o frmulas PrintTime, y los grficos que estn basados en tablas cruzadas se generan en la Pasada n 2. cuadrculas OLAP. Subinformes. Generar pginas a la orden. Nota: Puede que los subtotales, los totales generales y los resmenes parezcan incorrectos si el informe tiene una frmula de seleccin de grupos. Esto ocurre porque los totales generales y los resmenes se calculan durante la Pasada n 1, pero la frmula de seleccin de grupos vuelve a filtrar los datos en la Pasada n 2. Los campos de totales acumulados se pueden utilizar en lugar de los resmenes para obtener el total de datos en informes que contengan una frmula de seleccin de grupos.
Pasada n 3
En la tercera y ltima pasada, se determina el recuento total de pginas. Esto se aplica a los informes que utilizan los campos especiales de nmero total de pginas o Pgina N de M.
34
Nota: Aunque los subinformes aparecen en la Pasada n 2 en el diagrama de flujo, se pueden usar subinformes bajo demanda para asegurarse de que el informe principal sigue siendo un informe de una sola pasada. Con los subinformes a la orden, Crystal Reports todava tiene que hacer una segunda pasada sobre los datos; sin embargo, esta segunda pasada no empezar hasta que usted profundice en el subinforme. En consecuencia, puede aumentar el rendimiento de los informes que contienen subinformes mediante el uso de subinformes a la orden.
35
ODBC
Microsoft diseo un mtodo de comunicacin llamado ODBC para conectar una PC cualquiera a algn Server de datos especfico. Cualquier base de datos que provea un ODBC para Microsoft puede ser reporteada por Crystal. Al instalar Crytal se instalan lso drivers de ODBC mas comunes del mercado. A traves del Data Explorer podemos elegir el driver con el cual nos queremos comunicar con la base y luego nos logeamos. Al logearse aparecern las Tablas, Stored Procedures, Vistas, con las cuales podemos desarrollar un reporte. Hay una opcin en File/Options que permite seleccionar que queremos ver al conectarnos a una base. Una vez logeados al servidor, permanecemos conectados aunque cerremos el reporte. Para deslogearse hay que cerrar la conexin a travs de la opcin Database/Log On/Off Server... del menu de Crystal Report.
36
Linkeando Tablas
Cuando se construye un reporte con ms de una tabla, Crystal abre una venta llamada Visual Linking Expert y automticamente linkea los campos de las tablas que tengan los nombres iguales (Desde File/Options se puede deshabilitar esta opcin y evitar el linkeo automtico). Linkear consiste en elegir un campo de una tabla y relacionarlo con otra, permitiendo a la segunda tabla seguir a la principal a medida que los registros son ledos uno por uno. Para linkear manualmente hay que elegir un campo desdeuna tabla y arrastrarlos y soltarlo Hacia otra campo de otra tabla, obviamente debern coincidir ambos campos en el tipo de dato. Desde se identifica con un bloque y Hacia con una flecha. Si se requiere agregar una tabla ya existente, Crystal esto lo premite, pero hay que asignarle un alias. Es muy fcil crear un link que no devuelva errores pero que cuando se calcule el Reporte, este devuelva un resultado incorrecto.
37
string. O si, se usan tablas de diferentes tipos de base de datos, aparecer un mensaje indicando que el reporte esta usando mas de un driver y hay veces que el reporte no funciona bien.
Tipos de Join
Cuando se linkean dos tablas, se debe considerar los registros que van a devolver. A continuacin se describe un ejemplo como para entender mejor cada caso: Nombre de Empleado Karen Renee John Carl Denise Numero de Departamento 8 13 17 4 25 Numero de Departamento 17 25 8 13 32 Salario 32500 37500 85000 24000 125000
Nombre de Departamento Executive Mail Room Human Resources Finance Information technology
Existen dos inconsistencias. Por un lado, Denise no tiene un registro en la tabla de Departamentos que coincida con su numero de departamento, y el departamento de Finanzas no tiene ningn empleado asociado. Se dice que entre estas dos tablas no hay integridad referencial. Los DBO se tendran que encargar de asegurar la integridad referencial. Si esto no ocurre igualmente Crystal lo puede tratar. Supongamos que quiero hacer un listado de lo que cobra cada empleado agrupado por departamento, para ello, primero debera linkear las tablas por el campo Numero de Departamento Como existen varios tipos de Join el resultado del reporte puede ser diferente: Equal Join: Tambin es conocido como inner join. Incluye los registros de las dos tablas solo cuando los campos que se joinean coinciden en sus valores, con lo cual, el resultado del mismo sern 4 registros. Crystal Reports por default utiliza este tipo de join. Lefter Outer Join: Incluye todos los registros de la tabla de la izquierda, y solo los registros de la tabla de la derecha que al joinear sean iguales a la tabla de la izquierda. En este caso, como resultado obtendremos 5 registros, pero el de Denise le faltar el nombre del Departamento. Right Outer Join: Incluye todos los registros de la tabla de la derecha, y solo los registros de la tabla de la izquierda que al joinear por un campo sean iguales a la tabla derecha. En esta caso, como resultado obtendremos 5 registros, pero el registro de Denise no ser devuelto, pero si el Departamento de Finanzas que no tiene ningn empleado asociado.
38
Se pueden modificar los Joins de las tablas solo para las SQL databases, para reportes sobre Pc-Style database son por default lefter outer join aunque este seleccionada la opcin de equal join.
Sentencias SQL
Crystal Report provee de una herramienta, Crystal SQL Designer, para escribir sentencias SQL, se almacenan como archivos .qry y despus se pueden utilizar para el desarrollo de los reportes. La sintaxis de SQL cambia dependiendo la base y si la conexin es nativa o si usa ODBC. Esto permite copiar Query armados con otras herramientas y reutilizarlos con Crystal. Lo que no se puede hacer obviamente son Insert, Delete y Update.
39
Agrupando en el Servidor
Otras de las ventajas que obtenemos al trabajar con SQL Database, es la posibilidad de agrupar en el Servidor y que este se encargue de las sumarizaciones o de los subtotales. Para ello, hay que habilitar la opcin en Database / Perform Grouping on Server y cumplir una serie de requisitos: a) Al menos debe haber un grupo en el reporte b) La seccion Detail debe estar oculta, justamente para no mostrar informacin de detalle c) En el Group Footer o Header solo hay que incluir las sumarizaciones y el campo del grupo, si se incluye algn campo o frmula el servidor le debe mandar todos los registros. d) No se puede agrupar en base a frmulas. Para eso usar expresiones SQL e) Si hay Running Total deben estar basados en campos sumarizados y nunca en detail fields. f) El reporte no puede contener sumarizaciones de tipo Average o Distinct Count, ni Top/Botton N, ya que SQL no las soporta. g) El orden de los grupos debe ser ascendente o descendente. No se puede especificar el orden. h) Si se agrupa por campos fecha, se debe hacer el grupo por cada dia, y si es por tiempo se debe agrupara por cada segundo.
Consideraciones de Performance
Como regla general de Reporting, hay que tratar que el servidor sea el encargado de filtrar la informacin, y si es posible de agruparla, ya que es mas veloz. Para verificar que esta calculando el servidor y que esta calculando Crystal Reports, hay que observar cual es el Query generado por Crystal que se enva al Servidor, para ello ir a Database/Show SQL Query.
40
Si primero instal Crystal Reports 10 en un equipo, no podr instalar Crystal Reports 9 o 9.2 en el mismo equipo en instalaciones compartidas. Instale primero Crystal Reports 9.x para ejecutar ambas versiones compartidas. Antes de ejecutar los paquetes de instalacin para la creacin de informes de Java, compruebe que tiene instalado Java Runtime Environment (JRE). La instalacin de los controladores de la base de datos a peticin no funciona con informes basados en vistas empresariales. El componente de creacin de informes de Java no admite el controlador JavaBean. VCL de Delphi para Crystal Reports slo est disponible en el sitio Web Zona de desarrolladores de Crystal Decisions. Si instala Crystal Reports 10 en el mismo equipo que Web Component Server (WCS) de Crystal Enterprise 9, el escritorio Web de Crystal Enterprise que se est ejecutando en este WCS se detendr. Tendr el mismo problema cuando instale Crystal Reports 9 en el mismo equipo que WCS de Crystal Enterprise 10.
Una vez que haya desinstalado Crystal Reports 10, aparecer una ficha de "Crystal Reports" en el cuadro de herramientas de Visual Studio .NET. Puede quitar esta ficha con seguridad. Puede que el componente de Crystal Reports para .NET no funcione correctamente despus de desinstalar Crystal Reports 10 de Visual Studio .NET. Para restablecer la funcionalidad, ejecute la funcin de reparacin en la instalacin de .NET. Si instala Crystal Reports 10 y ejecuta de nuevo la instalacin de Visual Studio .NET 2002/2003 (VS .NET 2002/2003) activando la opcin "Crystal Reports para Visual Studio .NET", se producirn problemas. En el cuadro de herramientas, aparecern los controles tanto de Crystal Reports 10 como de VS .NET 2002/2003, pero VS .NET 2002/2003 controlar la generacin de cdigo, la publicacin como servicio Web, etc. Para que Crystal Reports 10 recupere el control de IDE, tendr que volver a ejecutar la instalacin de CR10 en modo de reparacin. Para actualizarse correctamente a VS .NET 2002/2003 sin Crystal Reports 10, desinstale CR10 y vuelva a ejecutar la instalacin de VS .NET 2002/2003 en modo de reparacin.
41
Actualizacin
Ya no se admite la creacin de informes desde Crystal Dictionaries, Crystal Queries o Crystal InfoViews. Puede abrir informes creados en versiones anteriores y establecer las ubicaciones de orgenes de datos en las tablas de comandos. No se pueden actualizar estos informes. Los informes compilados no son compatibles en Crystal Reports 10. Las funciones IsBusinessDay y NextNBusinessDays del lenguaje de frmula no son recomendables y no deberan utilizarse; sin embargo, el Taller de frmulas puede mostrar las funciones del rbol Funciones o reconocer las palabras clave si se escriben directamente en una frmula. Los componentes de la actualizacin de Borland C#Builder no estn disponibles en el CD de Crystal Reports Advanced o Developer. Estos componentes estarn disponibles en el siguiente sitio Web: www.crystaldecisions.com. En esta versin, no se admite la creacin de informes basada en conexiones usando conjuntos de datos con parmetros SByte (como ADOPlus). La versin 10 de RAS COM SDK no admite la creacin de un informe basado en un Objeto de datos Crystal (CDO). Una nueva utilidad, el Asistente de migracin del repositorio (CrystalRepoWiz.exe), se instalar como parte de Crystal Enterprise 10. Esta herramienta se instala en el Administrador de vistas empresariales y se utiliza para migrar el contenido del repositorio de la versin 9 al nuevo formato de la versin 10. Podr ejecutarla desde el directorio win32_x86, o seleccionar el Asistente para migracin de Crystal Repository desde el men del programa de Crystal Enterprise 10.
Los grficos de embudo son una nueva funcin de Crystal Reports 10. Si crea un informe en Crystal Report 10 que incluya un grfico de embudo, puede que no sea posible abrirlo en Crystal Reports 9. Para solucionar este problema, abra el informe en Crystal Reports 10 y cambie el formato por uno que Crystal Reports 9 pueda reconocer. Dado que las vistas empresariales son una nueva funcin de la versin 10, los informes basados en estas vistas no se pueden abrir con versiones anteriores de Crystal Reports. En esta nueva versin de Crystal Reports se han agregado nuevos campos especiales. Para su referencia, estos nuevos campos corresponden con los siguientes campos de la versin 9:
o o o
Nmero de pgina horizontal corresponde con vertPageNumber en la versin 9. Nombre de usuario actual corresponde con reportAuthor en la versin 9. Id. de usuario actual corresponde con vertPageNumber en la versin 9.
Crystal Reports 10 puede gestionar ciertos tipos de datos de manera diferente en la versin 8.5 o anteriores. Para garantizar que es compatible con versiones anteriores, la versin 10 gestiona los tipos de
42
datos de los informes creados en la versin 8.5 y anteriores de la misma manera que se gestionaban los tipos en estas versiones. Como resultado, si cambia la ubicacin de la base de datos de un informe creado en Crystal Reports 8.5 o anterior (usando la opcin de men Establecer ubicacin de base de datos) y los tipos de campos de la base de datos de la nueva ubicacin se gestionan de forma diferente en la versin 10 y en la versin 8.5, Crystal Reports 10 gestionar los tipos de datos igual que en la versin 8.5 o anteriores. Entre los ejemplos de tipos de datos que se gestionan de forma diferente en la versin 10 y en la versin 8.5 se incluyen:
o
En la versin 8.5 y anteriores, el tipo entero nativo de Oracle algunas veces se trataba como doble mientras que en la versin 10 siempre se trata un tipo nativo de Oracle como doble. En la versin 8.5 y anteriores, el tipo de moneda de Access ODBC se trataba como decimal mientras que en la versin 10 se trata el tipo de moneda de Access ODBC como moneda.
Notas y limitaciones
Aunque Crystal Reports 10 sea compatible con los valores de parmetros de 64K, no admite las descripciones de 64K para campos de parmetro. La opcin de formato Superposicin (situada en la ficha General del cuadro de dilogo Opciones de grficos) slo est disponible para grficos de barras y columnas. El carcter '}' es un carcter especial y no se debe utilizar en nombres de bases de datos, frmulas o campos de parmetro. Algunas partes de los identificadores de hipervnculos (especialmente, dobles barras diagonales) de las frmulas de contexto de datos aparecen como texto comentado en el Taller de frmulas. Cuando utilice un informe OLAP, si el informe contiene parmetros de fila o columna, se deshabilitar el acceso a la hoja de clculo para evitar que se introduzca en el informe cualquier inconsistencia. Como resultado, no podr acceder a la hoja de clculo cuando trabaje con un informe OLAP que contenga cualquier parmetro de fila o columna. Si actualiza el repositorio en un objeto de comando que no se pueda encontrar, el cuadro de dilogo Faltan elementos del repositorio no mostrar ningn error. Sin embargo, aparecer un aviso diferente cuando utilice una copia en cach del objeto de comando. Crystal Repository no est disponible (y no es compatible) con la edicin Standard de Crystal Reports 10 porque Crystal Enterprise no est incluido en dicha versin. Cuando selecciona la opcin Diagrama/Mapa fuera de cuadrcula completa en el Asistente de diagrama/mapa, se omitir la configuracin A cambio de y Subdividido por. Dado que el cuadro de dilogo Opciones recuerda automticamente la ltima carpeta utilizada, la opcin Directorio del informe se ha eliminado del cuadro de dilogo Opciones.
43
En el cuadro de dilogo Opciones de informe, desactive la nueva casilla de verificacin Mantener el grupo junto en la primera pgina para garantizar que Crystal Reports empieza a imprimir el primer grupo en la primera pgina del informe, incluso cuando est activada la casilla de verificacin Mantener el grupo junto. Nota: Hasta ahora, si el primer grupo ocupaba ms de una pgina, la casilla de verificacin Mantener el grupo junto haca que Crystal Reports empezara imprimiendo el grupo en la segunda pgina del mismo, en lugar de imprimirlo en la primera. Si desactiva la nueva casilla de verificacin Mantener el grupo junto en la primera pgina, podr modificar el comportamiento de la primera pgina del informe.
Para evitar la vinculacin externa, se ha cambiado la vinculacin automtica predeterminada del Asistente de base de datos para que se realice la vinculacin primero por clave y, a continuacin, por nombre. Cuando cambia un parmetro de conexin de datos dinmica, debe llamar a VerifyDatabase antes de cambiar el parmetro. Error al llamar a VerifyDatabase antes de cambiar los resultados del parmetro en los datos examinados incorrectos. Las expresiones SQL pueden acceder a los datos de una columna restringida. Cuando restrinja una columna, actualice tambin cualquier expresin SQL que acceda a los datos de una columna restringida para asegurarse de que no se muestran estos datos. En el Asistente del repositorio, al copiar un grupo de objetos/archivos relacionados de una carpeta a otra (por ejemplo, de la carpeta original a una nueva carpeta), los nuevos objetos/archivos de la nueva carpeta todava sealan a los objetos/archivos originales de la carpeta original. Como resultado, los cambios de un archivo/objeto de la nueva carpeta no afectan a otros archivos u objetos de dicha carpeta. Por ejemplo, si copia una infraestructura de datos, conexin de datos, elemento empresarial y vista empresarial de la carpeta original a la nueva carpeta, la nueva copia de la vista empresarial seguir sealando a la infraestructura de datos, conexin de datos y elemento empresarial de la carpeta original. Como solucin, exporte los archivos a XML. Cuando trabaje con un informe que contenga conexiones de base de datos dinmicas, los datos del informe no se actualizan cuando se cambia de una conexin de base de datos a otra. Debido a problemas con caracteres internacionales, nicamente podr ver los informes realizados con Safari 1.0 en ingls. El registro diagnstico crea informes incorrectamente en la versin 5 y la versin 6 crea informes como la versin 10.2. En Crystal Reports 8 y 9, puede incrustar las etiquetas de secuencias y otras etiquetas HTML en sus informes para permitir la creacin de elementos DHTML en el resultado del visor DHTML. Para mejorar la seguridad, el comportamiento predeterminado de Crystal Reports 10 es convertir el texto seguro a HTML. Bajo su responsabilidad, puede activar una clave de registro para el comportamiento incrustado de HTML. Consulte el artculo de la siguiente pgina Web http://www.netsecurity.org/article.php?id=596 para comprender las implicaciones de no codificar el resultado HTML de Crystal Reports.
44
Para que la nueva funcin de creacin de informes asimtrica funcione correctamente con grficos y mapas, se ha agregado una nueva funcin llamada "Diagrama (o mapa) fuera de cuadrcula completa" en varias ubicaciones de Crystal Reports. Esta funcin no aparece documentada en la Ayuda en pantalla. Si no selecciona esta opcin, los grficos y mapas nicamente proporcionan un conjunto de filas de una nica dimensin en cada eje de fila/columna. Por lo tanto, el grfico o mapa no heredar los filtros asimtricos aplicados en el punto de vista de la cuadrcula. Es posible que el visor DHTML Java muestre diagramas y mapas como imgenes EMF (formato de metarchivo) o como imgenes de mapa de bits. En las siguientes situaciones se mostrarn imgenes EMF: 1. Cuando el visor se ejecuta en un sistema Windows. 2. Cuando el visor se ejecuta en un sistema UNIX con interfaz. 3. El visor se ejecuta en un sistema UNIX sin interfaz en el que est instalado el JDK 1.4 y en el que el valor de la propiedad del sistema java.awt.headless es TRUE. En las siguientes situaciones se mostrarn imgenes de mapa de bits: 4. El visor se ejecuta en un sistema UNIX sin interfaz con la versin JDK 1.3 o anterior. 5. El visor se ejecuta en un sistema UNIX sin interfaz en el que est instalado el JDK 1.4 y en el que el valor de la propiedad del sistema java.awt.headless no est establecido. 6. El visor se ejecuta en un sistema UNIX sin interfaz en el que est instalado el JDK 1.4 y en el que el valor de la propiedad del sistema java.awt.headless es FALSE. En lo que respecta a esta nota, se define "sistema UNIX sin interfaz" como un sistema en el que no est establecida la variable de entorno DISPLAY. Al contrario, un "sistema UNIX con interfaz" es aquel sistema en el que la variable de entorno DISPLAY est establecida y en el que est instalado un sistema X. Puede establecer la propiedad del sistema java.awt.headless si aade la lnea -Djava.awt.headless="true" a la secuencia de comandos de inicio del servidor de aplicaciones Web. Si la propiedad java.awt.headless se establece directamente en la pgina JSP se pueden obtener resultados inesperados.
Para actualizar los objetos de comando de Crystal Repository en un entorno de Crystal Enterprise, asegrese de que las opciones "Comprobar en la primera actualizacin" y "Comprobar procedimiento almacenado en la primera actualizacin" estn activadas en el informe original. (Haga clic en Opciones de informe en el men Archivo de Crystal Reports.)
45
Impresin y exportacin
Cuando exporta un informe a formato de Microsoft Excel (slo datos), las columnas de la hoja de clculo no se ajustan automticamente segn el campo seleccionado en la opcin "Ancho de columna basado en los objetos". Para que las columnas de la hoja de clculo se ajusten automticamente, debe activar la opcin Mantener la posicin relativa del objeto. En la versin anterior de Crystal Reports, la exportacin a formato CSV no anidaba los campos en los contextos de grupo correctamente. En esta versin, cuando exporta a formato CSV, los campos del rea de detalles se exportan con los campos de los encabezados de grupo que lo preceden y los pies de pgina del grupo que lo suceden, en un mismo registro. Cuando exporta un informe OLAP a formato Excel de la versin 9 o anterior, se le pedir que se conecte al origen de datos OLAP incluso cuando el informe contiene datos guardados. Internet Explorer no procesa correctamente el texto justificado despus de exportar un informe a formato HTML. Este es un problema conocido de Internet Explorer. Cuando exporta un informe a DHTML como pgina nica, los problemas de algunos exploradores pueden dar lugar a errores de formato. Como solucin, realice la exportacin a DHTML en pginas separadas. Cuando se exporta a Word o a cualquier formato de Microsoft Office y se cumplen todas las condiciones, puede que la exportacin no muestre algunos datos, porque Microsoft Word o Office intentar editarlo a travs de las Extensiones de FrontPage. Este comportamiento se puede evitar desactivando la creacin Web en el servidor. Condiciones: 1. La aplicacin Web de Windows 2003 Server debe tener activada la Autenticacin de Windows integrada. 2. El usuario est conectado al equipo cliente como usuario con derechos de creacin en el equipo del servidor Web. 3. El explorador del cliente tiene la seguridad de Windows integrada activada. 4. El equipo cliente tiene instalado Word o la aplicacin de MS Office.
Acceso a datos
Hay nuevos controladores de base de datos en desarrollo para utilizarlos con los productos de la versin 10 de Crystal en Windows y UNIX. Consulte este vnculo para obtener la disponibilidad: http://www.crystaldecisions.com/ipl/default.asp?destination=updatedfeatures&language=ES&product=c rystalenterprise&version=10 La versin 10 de los productos de Crystal ya no incluye la mayora de controladores de base de datos de ODBC (fabricados por DataDirect Technologies) que se instalaban en anteriores productos de Crystal. Habr disponibles controladores actualizados de DataDirect ODBC para utilizar con la versin 10 de los
46
productos de Crystal en Windows y UNIX. Consulte este vnculo para obtener la disponibilidad: http://www.crystaldecisions.com/ipl/default.asp?destination=updatedfeatures&language=ES&product=c rystalenterprise&version=10
En la barra de herramientas del Explorador de datos de la ventana Asistente de base de datos, una de las opciones mostradas es Crear nueva conexin. Cuando se expande, proporciona nuevas opciones de conexin (por ejemplo, ODBC). Cuando utilice procedimientos almacenados con un controlador ODBC de Sybase, si el nombre del procedimiento tiene un signo de subrayado ( _ ), el controlador devuelve datatype = null. Como solucin, asegrese de que los nombres de procedimiento no contienen caracteres de subrayado. Puede cambiar el origen de datos de muchos informes a la vez cambiando el DSN del sistema ODBC, pero Crystal Enterprise 10 gestiona esto de forma diferente con respecto a versiones anteriores. En el cuadro de dilogo Establecer ubicacin, edite la nueva propiedad de tabla OverriddenQualifiedTableName. Cuando cargue un informe, si est basado en ODBC y tiene formato CR 8.5 (o anterior), se crea la propiedad de conexin useDSNProperties y se establece como True. Los nuevos informes creados en la versin 10 establecern esta propiedad como false de forma predeterminada. (Este propiedad se guardar con el informe.) Cuando esta propiedad se establece como True, ODBC utiliza SQLConnect en lugar de SQLDriverConnect. Puede cambiar la propiedad useDSNProperties en el cuadro de dilogo Establecer ubicacin. Nota: No puede cambiar el DSN del sistema ODBC si el nombre de la base de datos o nombre propietario contiene caracteres especiales. Puede encontrar problemas con antiguos controladores y con el cambio de los nombres de sus procedimientos almacenados.
Los datos devueltos por la consulta de la base de datos que contienen caracteres adicionales (como " hello ") se truncan para excluir espacios adicionales (" hello " se convierte en "hello"). Como resultado, las consultas de la base de datos que dependen de estos espacios adicionales devuelven datos inesperados. Utilice una de las siguientes soluciones: 1. Utilice la funcin Trim(). (donde Trim(lookupField)="hello") 2. Utilice caracteres comodn en la consulta. (donde lookupField="*hello*")
Se pueden producir errores al establecer la ubicacin del origen de datos para trabajar con un informe basado en una vista empresarial con ms de una tabla (guardando el informe como un informe sin conexin). Cuando cree un informe de una vista empresarial, si no puede buscar datos si la vista empresarial contiene restriccin de fila, agregue un campo al informe y, a continuacin, actualice el informe antes de buscar datos. Cuando trabaje con un informe basado en una vista empresarial, si necesita cambiar el parmetro del repositorio o metadatos, debe establecer el parmetro del repositorio y metadatos antes de obtener los datos. Si obtiene los datos y, a continuacin, cambia el parmetro del repositorio o metadatos, se seguir utilizando el objeto del antiguo repositorio.
47
Cuando se realiza una consulta a una base de datos de Lotus Notes con una consulta que contiene combinaciones externas anidadas, se generar el siguiente error: "Error al abrir conjunto de filas". Este error es debido a que el controlador ODBC de Lotus Notes no admite combinaciones externas anidadas. Cuando cree un vnculo de combinacin externa izquierda en campos de enunciados SQL con tres o ms tablas de diferentes orgenes de datos, si no hay coincidencia en el primer registro del vnculo, se devolver una cadena igual a cero o una cadena vaca despus de este vnculo. Por ejemplo, si hay un vnculo de 4 tablas: A->>>, donde cada tabla es de un origen de datos diferente y todos los vnculos son combinaciones externas izquierdas del campo del enunciado SQL de cada tabla. Si no hay coincidencia en el primer registro entre el vnculo A y B, la tabla C y D devolver una cadena igual a cero o una cadena vaca en el informe.
Cuando cree un informe usando codificacin Unicode (UTF-8) y caracteres japoneses, el controlador DB2 informar del error al agregar tablas. Cuando utilice un vnculo inteligente con el controlador ODBC de Oracle, no aparecer un ndice basado en una expresin porque el controlador ODBC de Oracle no devuelve ndices de expresiones; como resultado, el ndice no tendr vnculo inteligente. Cuando utilice el vnculo inteligente con el controlador nativo de Oracle, no aparecer el ndice basado en una expresin compleja; como resultado, el ndice no tendr vnculo inteligente. Sin embargo, para los ndices de expresin que son campos de tabla en orden descendente, el vnculo inteligente por clave se comportar como se esperaba.
Cuando se conecte a una base de datos Sybase usando el controlador nativo de Sybase (crdb_p2ssyb10.dll), se generar un error si se ejecuta ms de una instruccin SQL en la misma conexin de base de datos en el mismo momento. El error se genera porque el controlador nativo de Sybase no puede gestionar varios procedimientos almacenados en la misma conexin. Como solucin, utilice un controlador ODBC en lugar de un controlador de Sybase. Crystal Reports 10 no puede abrir informes basados en Infoviews. Si abre un informe basado en Infoview en Crystal Reports 10, el informe parecer que se abre correctamente pero no se aplicar la seguridad correcta. Si la funcin Infoview se utiliza para datos importantes seguros, se recomienda que limite el acceso o distribucin de dichos informes. Consulte la documentacin de vistas empresariales para obtener ms informacin sobre nuevas funciones mejoradas de seguridad de datos en Crystal Enterprise y Crystal Reports 10. Puede que a veces la direccin de la combinacin no se pueda cambiar (por ejemplo: combinacin externa izquierda). En algunos escenarios de vinculacin, esto significa que no se podr realizar una consulta. En este caso, el usuario tendr que cambiar el orden de vinculacin. Se generar el siguiente error: "Error al abrir conjunto de filas. Error de motor de consulta: No se puede realizar la consulta. Se detect un ciclo de vnculo ilegal."
48