Sei sulla pagina 1di 16

EJERCICIO GUIADO. JAVA.

INFORMES DE BASE DE DATOS


Clculos
Es muy habitual que un informe no solo muestre datos de las tablas de la base de datos,
sino que tambin muestre clculos realizados con esos datos.
Para hacer esos clculos se puede usar la potencia de SQL por un lado. Podemos generar
esos clculos directamente en la consulta SQL, con lo cual solo tendremos que mostrar los
resultados en el informe como si fueran otros campos.
Por otro lado tambin podemos realizar los clculos directamente en el informe.
En esta hoa se !er como crear un informe con clculos. "dems se aprendern algunos
conceptos nue!os en lo que se refiere a presentaci#n de datos y uso de las zonas del
informe.
EJERCICIO GUIADO N 1. CREACIN DE UN INFORME CON CLCULOS
$. Entra en i%eport.
&. 'amos a crear un informe desde cero donde aparezca el listado de ser!icios
realizados. (nteresa en principio que aparezca la fecha del ser!icio el tipo del ser!icio
y la cantidad cobrada.
Para ello acti!e la opci#n Fichero Nuevo Documento.
). "signe el nombre informeservicios al informe.
*. (ndique ahora que usar la cone+i#n con la base de datos ,"-E,PS". Para ello
puede elegir la ./one+i#n con ,"-E,PS"0 en el desplegable de cone+iones, en la
parte superior derecha de la !entana1
2. "hora que hemos elegido la cone+i#n, ahora indicaremos la consulta SQL que nos
permita e+traer los datos que queremos mostrar en el informe. Para ello, acti!a la
opci#n Datos Consulta de Informe.
3. En la pantalla que aparece debes introducir la siguiente consulta SQL1
select * from servicios order by fecha
4. "cepta la pantalla anterior. 5a podemos empezar a dise6ar el informe. Empezaremos
por poner un t7tulo. El t7tulo ser .Listado de Ser!icios0. "grande la letra del t7tulo y
cntrelo.
8. "hora a6adiremos los te+tos de la cabecera. En la zona de Encabezado de columna
9column:eader; a6adiremos los siguientes cuadros de te+to esttico1
<. "hora para definir los datos del listado, tendremos que a6adir campos a la zona del
detalle 9detail;. =ebes arrastrar los campos fecha, tipo y cantidad1
$>. La zona del detalle es demasiado grande, as7 que reduzca su tama6o arrastrando la
l7nea de separaci#n1
$$. 'isualice el listado. (%eport le pedir que guarde antes de !isualizar. ?uarde el
listado con el nombre informeservicios en ,is =ocumentos.
$&. El listado tendr la siguiente forma1
$). @bser!e como la fecha muestra tambin la hora. "ntes de continuar, cambiaremos el
formato de la columna de la fecha para que esto no suceda. Para ello seleccione el
campo Fecha1
"rrastra la l7nea del
detalle.
$*. 'amos a modificar una de las propiedades llamada Patrn. :az clic en el bot#n con
tres puntos de esta propiedad1
$2. Esta propiedad permite cambiar la forma en que se presentan nAmeros, fechas y
dems tipos de datos en el informe.
Elige en la zona de categor7as la categor7a Date 9Becha; y luego escoge el patr#n con
forma diaCmesCa6o1
"plica los cambios.
$3. 'uel!e a !isualizar tu listado. "hora !ers como las fechas aparecen correctamente.
%ecuerda esta propiedad, ya que la usars muchas !eces. Sobre todo con fechas y
nAmeros. En el caso de los nAmeros, se puede usar para decidir algunas
caracter7sticas como los d7gitos decimales o si mostrar el punto separador de miles.
$4. 'amos a meorar el listado a6adiendo dos l7neas. Dna l7nea ustamente debao de la
cabecera y otra en la parte del pie de columna 9columnFooter;1
$8. La l7nea de la cabecera separar esta de los datos. Por otro lado, la l7nea del pie de
columna aparecer en la parte inferior del listado en todas las pginas. 'isualiza el
listado1
$<. La zona del pie de pgina pageFooter es ideal para colocar en ella el nAmero de
pgina del listado. 9Eenga en cuenta que el listado puede ser muy largo y tener !arias
pginas;
Lo que introduzca en la zona pageFooter aparecer en la parte inferior de cada
pgina en todas las pginas del listado e+cepto en la Altima pgina. En el caso de la
Altima pgina la zona que hace esta funci#n es la zona llamada lastPageFooter
9Altimo pie de pgina;
Para que la zona pageFooter afecte a todas las pginas del informe incluyendo la
Altima, es necesario ocultar la zona lastPageFooter.
'eamos como se hace esto1
&>. :aga clic con el bot#n derecho del rat#n sobre la zona lastPageFooter y elia
Propiedades de banda.

&$. "parecer un cuadro de opciones donde se podr elegir el tama6o de la zona. En
nuestro caso indicaremos un cero y aplicaremos. Luego cerraremos el cuadro de
opciones.
&&. Se podr obser!ar entonces como hemos ocultado la zona lastPageFooter. "l hacer
esto, la zona pageFooter tendr control sobre todas las pginas incluyendo la Altima.
&). "hora arrastra el elemento especial Pgina de ! desde la librer"a hasta el pie de
pgina. @bser!a1
&*. La #ibrer"a contiene una serie de campos especiales que muestran cosas como el
nAmero de la pgina o la fecha actual. Elementos que suelen ser muy comunes en
los informes.
&2. "pro!echa la #ibrer"a para agregar en la parte derecha del pie la fecha actual.
"rrastra el elemento Fecha actual a la zona del pie. Entonces !ers como aparece un
cuadro donde tendrs que elegir el formato de la fecha. Elige el formato completo.
&3. El pie tiene que haber quedado ms o menos as71

&4. "hora !isualice el informe y obser!e la parte inferior 9si cambia el zoom al 2>F podr
tener una !ista global del informe;1
'er que en la parte inferior aparece el nAmero de la pgina y la fecha en el formato
indicado.
&8. Supongamos ahora que nos interesa tener una columna ('" en la que aparezca el
$3F de ('" de cada una de las cantidades. =esgraciadamente, este campo no e+iste
en la tabla ser!icios, de la que hemos e+tra7do los datos. Sin embargo, es posible
crear este campo directamente en la consulta SQL realizando el clculo.
"cti!e la opci#n Datos Consulta del Informe para acceder a la consulta que
introducimos al principio.
&<. /ambie la consulta por la siguiente instrucci#n SELE/E 9respete mayAsculas y
minAsculas;1
select Fecha, Tipo, Cantidad, Cantidad*0.16 as IVA from servicios order by fecha
Esta consulta SELE/E muestra la Becha, Eipo y /antidad de los ser!icios, pero adems,
!er que realiza un clculo1 multiplica el campo /antidad por >.$3 y le asigna al resultado del
clculo el nombre ('".
Es decir, se crea un nue!o campo 9campo calculado$ llamado ('" y creado a partir del
producto del campo /antidad por >.$3
select Fecha, Tipo, Cantidad, Cantidad*0.16 as IVA from servicios order by fecha
Los campos calculados es una caracter7stica del lenguae SQL que apro!echaremos para
realizar clculos con los campos de las tablas.
/lculo que se realiza
-ombre del campo calculado
)>. Pulse @G y obser!e la zona de campos. 'er como ha aparecido un nue!o campo
llamado ('". Ean solo tiene que agregarlo a la zona de detalle como si fuera un
campo ms.
)$. Por supuesto, ser7a interesante a6adir un te+to esttico en el encabezado de
columnas1
)&. 'isualice el informe resultante1
)). Para hacer otro eemplo de campos calculados, entre en la consulta del informe y
modifique la instrucci#n SQL de forma que quede as71
select Fecha, Tipo, Cantidad, Cantidad*0.16 as IVA, IVACantidad as Total
from servicios order by fecha
En este caso, se est a6adiendo otro campo calculado 9en roo; llamado Eotal. Este
campo es la suma del ('" y la /antidad. Es decir, es el total con (!a.
)*. "l pulsar @G obser!ar en la zona de campos este nue!o campo. "pro!eche esto
para agregar una nue!a columna con los totales con i!a1
)2. 'isualice el informe. =ebe tener este aspecto1
)3. :emos aprendido a agregar campos calculados a partir de otros campos, y a6adirlos
al listado. "hora aprenderemos a realizar clculos de totales, o clculos resumen.
Por eemplo, ser7a interesante calcular la suma de todas las cantidades, todos los ('"
y todos los totales ms ('".
Estos totales suelen aparecer en la parte final del listado. En la zona llamada
%esumen &summar'$
)4. Empezaremos agregando en la zona summar' una l7nea corta1
)8. Para agregar un total 9una suma; se usa el elemento (otal de la #ibrer"a. :aga clic en
l y arrstrelo a la zona del resumen.
)<. "parecer un cuadro de dilogo donde tendr que indicar el campo que quiere
sumar. Elia el campo Cantidad y acepte.
*>. "parecer un nue!o recuadro en el resumen. /ol#quelo al mismo ni!el que la
columna de la cantidad.
*$. :aga el mismo proceso para calcular la suma del ('" y del Eotal. "l final, el dise6o de
la zona resumen debe tener el siguiente aspecto1
*&. Los elementos situados en la zona del resumen aparecen al final del listado.
'isualice el informe y obser!e la parte final del listado.
*). El informe est terminado. ?urdelo y cirrelo.
CONCLUSIN
SQL !"#$%! l& c"!&c$'( )! c&#os c&lcul&)os & &"%$" )! o%"os c&#os !( u(&
co(sul%& SELECT.
Es%& c&"&c%!"*s%$c& !s #u+ ,%$l o" !-!#lo !( !l c&so )! los $(.o"#!s/ +& 0u! (os
!"#$%! #os%"&" clculos !( !llos.
$R!o"%/ &)!#s/ "oo"c$o(& l& os$1$l$)&) )! "!&l$2&" su#&s %o%&l!s )! c&#os.
R!cu!")! %&#1$3( !l uso )! l&s )$s%$(%&s 2o(&s )!l $(.o"#!4
- Title Ttulo4 Us&)o &"& coloc&" !l %*%ulo )!l $(.o"#!. A&"!c! !( l& "$#!"&
5$(& ,($c&#!(%!.
- pageHeader 6 Encabezado de pgina4 E( !l s! coloc& &0u!llo 0u! )!1& &&"!c!"
!( l& &"%! su!"$o" )! %o)&s l&s 5$(&s.
- columnHeader 6 Encabezado de columna4 Us&)o &"& coloc&" l& c&1!c!"& )!l
l$s%&)o.
- Detail 6 Detalle4 Us&)o &"& coloc&" los )&%os 7c&#os8
- columnFooter Pie de Columna4 E( !l s! coloc& &0u!llo 0u! )!1& &&"!c!" !( l&
&"%! $(.!"$o" )!l l$s%&)o !( %o)&s l&s 5$(&s.
- pageFooter 6 Pie de pgina: E( !s%& 2o(& s! coloc& &0u!llo 0u! )!1& &&"!c!" !(
l& &"%! $(.!"$o" )! %o)&s l&s 5$(&s 7#!(os l& ,l%$#&/ s$ !s% &c%$9&)o !l
lastPageFooter8 S! us& &"& coloc&" !l (,#!"o )! 5$(&.
- lastPageFooter 6 Ultimo pie de pgina: Es !l $! )! 5$(& )! l& ,l%$#& 5$(&. S$
s! )!s&c%$9&/ !(%o(c!s !s sus%$%u$)o o" !l pageFooter.
- Summar 6 !esumen: Us&)o &"& coloc&" clculos )! %o%&l!s. A&"!c! &l .$(&l )!l
l$s%&)o.

Potrebbero piacerti anche