Material Big Data

Lanzados ppts informativos de tecnologías BigData: Hadoop, Hbase, Hive, Zookeeper...

Apuntate al Workshop gratuito para aprender Business Intelligence. Plazas limitadas!!

Diseño multidimensional, OLAP, ETL, visualización, open source, Pentaho...

Pentaho Analytics. Un gran salto

Ya se ha lanzado Pentaho 7 y con grandes sorpresas. Descubre con nosotros las mejoras de la mejor suite Open BI

La mejor oferta de Cusos Open Source

Después de la gran acogida de nuestros Cursos Open Source, eminentemente prácticos, lanzamos las convocatorias de 2017

5 feb. 2010

Crosstabs en Pentaho Reporting

Nuestro compañero Juan Jose Ortilles, experto en pegarse con Eclipse Birt y Pentaho Reporting nos cuenta como crear Crosstabs con Pentaho Reporting, siguiendo las notas explicadas en este post y ver que, efectivamente funciona.

Una de las funcionalidades que hace que desestimemos Pentaho Reporting en muchas ocasiones en favor de Eclipse Birt son las tablas cruzadas.

Consideraciones previas:
Es una funcionalidad experimental por lo que hay que hacerlo todo por atributos olvidate de arrastrar y desplazar. Olvidate del layout.

Para abilitar la funcionalidad hay que realizar la siguiente combinación de teclas CTRL-ALT-O (parece un huevo de pascua). Te saldrá una advertencia de que has reiniciado el editor para ver las caracteristicas ocultas. Tiembla y dile que “vale”.

PRD1

Todavía no verás nada….. Espera…. Ahora vamos a poner la página apaisada….

FILE ==> PAGE SETUP ==> HORIZONTAL Y A-4

Todavía no verás nada…. Espera…. Vamos a ponerle la consulta, para ello vamos a tirar de nuestro querido SampleData:

select distinct
PRODUCTLINE,
T.MONTH_NAME,
sum(TOTALPRICE) as TOTALPRICE,
sum(QUANTITYORDERED) as QUANTITYORDERED
from PRODUCTS P inner join ORDERFACT O on (P.PRODUCTCODE = O.PRODUCTCODE)
inner join DIM_TIME T on (O.ORDERDATE = T.TIME_ID)
where T.YEAR_ID = 2004
group by PRODUCTLINE,
MONTH_NAME
order by PRODUCTLINE,
T.MONTH_ID
;

Si te fijas, ahora ademas de añadir un grupo puedes añadir un grupo de crosstab (en las pruebas que he hecho a veces tarda un poco en aparecer)

PRD2

Y… Tachan! Aquí tenemos nuestra nueva banda

PRD3

Queremos hacer una crosstab de los productline por los meses
Por lo que vamos a establecer las columnas:
crosstab-column-group-body –> crosstab-column-group y en la propiedad del grupo ponemosMONTH_NAME.

PRD4

Lo mismo para las filas:
crosstab-row-group-body –> crosstab-row-group, y en la propiedad del grupo ponemos PRODUCTLINE.

PRD5

Ya lo tenemos casi todo hecho….
Vamos a poner las cabeceras de los gruops… Eso se hace en añadiendo la elemento correspondiente en cada cabecera:

PRD6

y estableciendo su valor:

PRD7

Lo mismo para los PRODUCTLINE solo que se establecen como cabecera de filas.

Vamos ahora a por el contenido de la tabla. Mas de lo mismo:

Vamos a al detalle de la tabla y añadimos una etiqueta numérica ya que vamos a poner números y la establecemos como TOTALPRICE:

Y…. ya podemos ejecutar....

PRD9

Tachaaaan!!!!!
Bueno, vale, todavía falta pulirlo un poco, como poner los ecabezados en en negrita y reubicar las etiquetas de los encabezados le linea. Peeeero…. Ya tenemos nuestra primera Crosstab.

0 comentarios: