Business Intelligence
Dos años ya…
Dos años ya
casi no lo puedo creer
dos años tú y yo
y la lamparilla gris de papel…
Eso cantaba Carlos Faraco en uno de mis discos favoritos de siempre: “La Romántica Banda Local“, primer disco de La Romántica Banda Local. Obra maestra conocida por muy pocos, pero incondicionales, que escuchábamos aquello tan raro cuando lo que molaba era la movida…
Pero, en fin, no es de eso de lo que va esta entrada. Es que hoy hace exactamente dos años que comencé a trabajar con y para Teradata.
En estos dos años creo que he aprendido bastante sobre Teradata, aunque creo que en otras circunstancias podría haber aprendido mucho más…
Lo que sí he venido observando son dos hechos que me intrigan y asombran a la vez:
- La inmensa mayoría de las visitas al “blog” son todavía en busca de información sobre Oracle (sobre lo que escribo sólo de forma incidental y ni mucho menos con la cantidad y profundidad que solía hacerlo).
- La frecuencia de las visitas ha ido disminuyendo (circunstancia quizá explicada por el punto anterior) hasta el punto de hacerme pensar si realmente merece la pena seguir dedicando el tiempo y esfuerzo que le dedico. ¿Es tan poca la gente que trabaja con -o quiere conocer más sobre- Teradata? ¿Y toda esa marea de “DataWarehousers”, el futuro de las bases de datos en el siglo XXI?
Saludos.
Carlos.
Oracle, Heterogeneous Services, Teradata y el ‘EXPLAIN’ mentiroso.
Actualmente estoy buscando soluciones para poder comparar datos de dos entornos Teradata (desarrollo y producción). Se trata de intentar ‘JOINs’ entre tablas procedentes de los dos sistemas para diferentes comprobaciones y verificaciones.
El asunto parece fácil, pero no lo es tanto: se necesita ‘ver’ tablas de los dos sistemas como si perteneciesen al mismo servidor y poder ejecutar así las ‘JOINs’ necesarias. Y lamentablemente, Teradata no tiene nada parecido a los ‘dblinks‘ de Oracle.
Dada mi poca afición a las herramientas ‘GUI’ y ‘automágicas’, y aprovechando lo visto aquí, me decidí a intentar la prueba con un Oracle XE y dos ‘dblinks‘ a dichos sistemas mediante ‘Heterogeneous Services‘.
El asunto iba OK con tablas pequeñas (unas pocas filas), pero había que probar si la cosa iba tan bien con tablas más grandes, así que comencé con las pruebas:
BTEQ -- Enter your DBC/SQL request or BTEQ command: SELECT COUNT(1) FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA; *** Query completed. One row found. One column returned. *** Total elapsed time was 2 seconds. Count(1) ----------- 4297128Así pues me dispuse a probar una ‘query‘ desde :
SQL*Plus: Release 10.2.0.1.0 - Production on Mar Mar 16 17:35:33 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Introduzca el nombre de usuario: carlos@XE.localhost Introduzca la contraseña: Conectado a: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production CARLOS@XE.localhost> set timing on; CARLOS@XE.localhost> SELECT COUNT(1) 2 FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.prod a, 3 DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.desa b 4 WHERE a.NUM_SERIE = b.NUM_SERIE 5 AND a.FEC_INICIO = b.FEC_INICIO 6 AND a.FEC_FIN = b.FEC_FIN 7 ; COUNT(1) ---------- 107695093 Transcurrido: 00:03:24.41 CARLOS@XE.localhost>Bueno, 3:24 no está demasiado mal para una query remota de tablas de más de 4 millones de filas, pero ¿qué pasará si hago la misma ‘JOIN‘ entre tablas de uno sólo de los entornos?
CARLOS@XE.localhost> SELECT COUNT(1) 2 FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.desa a, 3 DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.desa b 4 WHERE a.NUM_SERIE = b.NUM_SERIE 5 AND a.FEC_INICIO = b.FEC_INICIO 6 AND a.FEC_FIN = b.FEC_FIN 7 ; COUNT(1) ---------- 107695093 Transcurrido: 00:00:34.60 CARLOS@XE.localhost>¡34 segundos contra 3 minutos y 24 segundos! ¿Cómo es posible?
Voy a ver qué pasa si hago la ‘query‘ en Teradata:
BTEQ -- Enter your DBC/SQL request or BTEQ command: SELECT COUNT(1) FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA a, DW_WORK.TABLA_GRANDE_DE_PRUEBA b WHERE a.NUM_SERIE = b.NUM_SERIE AND a.FEC_INICIO = b.FEC_INICIO AND a.FEC_FIN = b.FEC_FIN ; *** Query completed. One row found. One column returned. *** Total elapsed time was 35 seconds. Count(1) ----------- 107695093¡Y tarda lo mismo (35 segundos)! Vamos a ver los ‘query plans‘ de Oracle:
CARLOS@XE.localhost> set autotrace on; CARLOS@XE.localhost> SELECT COUNT(1) 2 FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.desa a, 3 DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.desa b 4 WHERE a.NUM_SERIE = b.NUM_SERIE 5 AND a.FEC_INICIO = b.FEC_INICIO 6 AND a.FEC_FIN = b.FEC_FIN 7 ; COUNT(1) ---------- 107695093 Transcurrido: 00:03:24.00 Plan de Ejecución ---------------------------------------------------------- Plan hash value: 1536167140 ----------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |IN-OUT| ----------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 62 | 105 (1)| 00:00:02 | | | | 1 | SORT AGGREGATE | | 1 | 62 | | | | | |* 2 | HASH JOIN | | 2000 | 121K| 105 (1)| 00:00:02 | | | | 3 | REMOTE | TABLA_GRANDE_DE_PRUEBA | 2000 | 62000 | 52 (0)| 00:00:01 | TERAD~ | R->S | | 4 | REMOTE | TABLA_GRANDE_DE_PRUEBA | 2000 | 62000 | 52 (0)| 00:00:01 | TERAD~ | R->S | ----------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("A"."NUM_SERIE"="B"."NUM_SERIE" AND "A"."FEC_INICIO"="B"."FEC_INICIO" AND "A"."FEC_FIN"="B"."FEC_FIN") Remote SQL Information (identified by operation id): ---------------------------------------------------- 3 - SELECT "NUM_SERIE","FEC_INICIO","FEC_FIN" FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" (accessing 'TERADATA.PROD' ) 4 - SELECT "NUM_SERIE","FEC_INICIO","FEC_FIN" FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" (accessing 'TERADATA.DESA' ) Estadísticas ---------------------------------------------------------- 275 recursive calls 1 db block gets 0 consistent gets 50295 physical reads 304 redo size 433 bytes sent via SQL*Net to client 380 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processedParece todo normal: dos ‘queries’ remotas a los Teradata y el ‘MERGE‘ y el ‘SORT AGGREGATE‘ local en Oracle.
Pero, entonces ¿qué hace cuando las dos tablas se consultan de un mismo sitio (prod)?
CARLOS@XE.localhost> select count(1) 2 FROM DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.prod a, 3 DW_WORK.TABLA_GRANDE_DE_PRUEBA@teradata.prod b 4 WHERE a.NUM_SERIE = b.NUM_SERIE 5 AND a.FEC_INICIO = b.FEC_INICIO 6 AND a.FEC_FIN = b.FEC_FIN ; COUNT(1) ---------- 107695093 Transcurrido: 00:00:34.70 Plan de Ejecución ---------------------------------------------------------- Plan hash value: 1536167140 ----------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Inst |IN-OUT| ----------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 62 | 105 (1)| 00:00:02 | | | | 1 | SORT AGGREGATE | | 1 | 62 | | | | | |* 2 | HASH JOIN | | 2000 | 121K| 105 (1)| 00:00:02 | | | | 3 | REMOTE | TABLA_GRANDE_DE_PRUEBA | 2000 | 62000 | 52 (0)| 00:00:01 | TERAD~ | R->S | | 4 | REMOTE | TABLA_GRANDE_DE_PRUEBA | 2000 | 62000 | 52 (0)| 00:00:01 | TERAD~ | R->S | ----------------------------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("A"."NUM_SERIE"="B"."NUM_SERIE" AND "A"."FEC_INICIO"="B"."FEC_INICIO" AND "A"."FEC_FIN"="B"."FEC_FIN") Remote SQL Information (identified by operation id): ---------------------------------------------------- 3 - SELECT "NUM_SERIE","FEC_INICIO","FEC_FIN" FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" (accessing 'TERADATA.PROD' ) 4 - SELECT "NUM_SERIE","FEC_INICIO","FEC_FIN" FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" (accessing 'TERADATA.PROD' ) Estadísticas ---------------------------------------------------------- 1 recursive calls 0 db block gets 0 consistent gets 0 physical reads 0 redo size 433 bytes sent via SQL*Net to client 380 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processedLo mismo: dos ‘queries‘ remotas a los Teradata y el ‘MERGE’ y el ‘SORT AGGREGATE’ local en Oracle.
¡Eh! pero ahí pasa algo: 0 ‘consistent gets‘ y 0 ‘physical reads‘. ¿Qué esta pasando?
Vamos a ver qué dice Teradata de esto:
BTEQ -- Enter your DBC/SQL request or BTEQ command: SELECT TOP 3 StatementText FROM DBC.AccessLog WHERE UserName = 'Carlos' ORDER BY LogDate DESC, LogTime DESC; ; *** Query completed. Three rows found. One column returned. *** Total elapsed time was 2 seconds. StatementText ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SELECT TOP 3 StatementText FROM DBC.AccessLog WHERE UserName = 'Carlos' ORDER BY LogDate DESC, LogTime DESC; SELECT COUNT ( * ) AS c000 FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" "A2" , "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" "A1" WHERE ( "A2"."NUM_SERIE" = "A1"."NUM_SERIE" AND "A2"."FEC_INICIO" = "A1"."FEC_INICIO" AND "A2"."FEC_FIN" = "A1"."FEC_FIN") SELECT "T0000"."NUM_SERIE" AS c000, "T0000"."FEC_INICIO" AS c001, "T0000"."FEC_FIN" AS c002 FROM "DW_WORK"."TABLA_GRANDE_DE_PRUEBA" "T0000"Lo que está ocurriendo es que aunque el ‘query plan‘ de Oracle dice que se trae los dos ‘result sets‘ y luego hace en local el ‘MERGE‘ y el ‘SORT AGGREGATE‘ está mintiendo: Si las dos tablas pertenecen al mismo sistema (prod), Oracle pasa la ‘query‘ completa a Teradata (como un ‘pass thru’) y luego recibe los resultados. ¡Por eso no hay ‘consistent gets‘ ni ‘physical reads‘: todo lo hace Teradata!
En la query inmediatamente anterior generada por el ‘JOIN‘ de tablas de los diferentes sistemas -desarrollo y producción- se aprecia que ahí SÍ está devolviendo el ‘resultset’ completo a Oracle para que éste haga el ‘JOIN‘.
¡El ‘EXPLAIN‘ de Oracle es un mentiroso!
Saludos.
Carlos.
Reporting Services 2008 MDX Query Builder
Cuando nos disponemos a realizar informes con Reporting Services cuyo origen de datos es un cubo OLAP almacenado en nuestro servidor de Analysis Services, nos podemos encontrar con un grave obstáculo: el desconocimiento del lenguaje MDX, que es lenguaje utilizado para construir los querys sobre SSAS.
En ese caso Reporting Services aporta una herramienta que nos puede ser de gran utilidad, el MDX Query Builder, que nos permite diseñar los querys MDX de forma gráfica, salvando así, en cierta medida, nuestras carencias de conocimientos en dicho lenguaje.
A continuación os dejo un video donde explico cómo utilizar dicho diseñador de querys, y las posibilidades que nos ofrece.
Claro está, que hay ciertas consultas y casuísticas que no se pueden resolver con el diseñador, en cuyo caso no queda otra alternativa que escribir directamente la instrucción MDX que necesitemos.
Libro Pentaho Kettle Solutions en creacion

Como ya avanzábamos hace unas semanas, se esta escribiendo un libro que promete ser muy, muy interesante: Pentaho Kettle Solutions.
Y promete ser interesante por que lo firman Matt Casters, Jos Van Dongen y Roland Bouman. Aunque prevista su publicación para después de este verano, ya os podemos anticipar el indice previsto.
# Part I: Getting Started
* ETL Primer
* Kettle Concepts
* Installation and Configuration
* Sample ETL Solution
# Part II: ETL Subsystems
* Overview of the 34 Subsystems of ETL
* Data Extraction
* Cleansing and Conforming
* Handling Dimension Tables
* Fact Tables
* Loading OLAP Cubes
# Part III: Management and Deployment
* Testing and Debugging
* Scheduling and Monitoring
* Versioning and Migration
* Lineage and Auditing
* Securing your Environment
* Documenting
# Part IV: Performance and Scalability
* Performance Tuning
* Parallization and Partitioning
* Dynamic Clustering in the Cloud
* Realtime and Streaming data
# Part V: Integrating and Extending Kettle
* Pentaho BI Integration
* Third-party Kettle Integration
* Extending Kettle
# Part VI: Advanced Topics
* Webservices and Web APIs
* Complex File Handling
* Data Vault Management
* Working with ERP Systems
Litebi y Alkanza firman un acuerdo
Nos alegra poder anunciar que hemos acordado con la consultora de negocio Alkanza ofrecer conjuntamente soluciones de Business Intelligence, dentro de nuestra voluntad de establecer relaciones de beneficio mutuo con nuestros partners que redunden en una mayor satisfacción de nuestros clientes.
La nota de prensa:
"
Valencia, 15 de Marzo de 2010
LITEBI Y ALKANZA ACUERDAN COLABORAR EN LA OFERTA DE SOLUCIONES DE BUSINESS INTELLIGENCE
Litebi, empresa proveedora de software de Business Intelligence y Alkanza, consultora de negocio con amplia experiencia, han alcanzado un acuerdo para ofrecer conjuntamente servicios de Inteligencia de Negocios que redunden en beneficio de sus clientes permitiéndoles mejorar el control del negocio y la toma de decisiones. Gracias a la experiencia de Alkanza y la tecnología de Litebi los clientes podrán disfrutar de potentes soluciones analíticas adaptadas a sus necesidades sin el coste o la complejidad que estas soluciones han tenido tradicionalmente.
Litebi ofrece soluciones de Business Intelligence fáciles, potentes y asequibles a través de su plataforma de BI SaaS.
Alkanza es una consultora de negocios generalista con amplia experiencia en particular en el diseño, búsqueda y negociación de la financiación que las pymes necesitan para acometer sus proyectos.
"
Un saludo.
El Excel como visualizador de datos
En muchas ocasiones he comentado la debilidad que tienen los usuarios hacia el Excel. Se trata, casi, de algo sentimental, parecido al amor que sienten los propietarios de una iPod hacia el iPod. Pueden existir otros reproductores de música, como existen otras hojas de cálculo, pero ni el iPod es "sólo" un reproductor de música, ni el Excel es "sólo" una hoja de cálculo...
La analogía es muy buena... La he leído en TodoBI, que citaba un blog llamado Gobán Saor... Entre las ventajas de Excel se citan las siguientes:
- Excel es una herramienta muy conocida, que la gente adora, que cuesta muy poco y en muchos casos nada.
- Excel es la principal y mejor herramienta para manejar listas de datos, que no tengan relaciones complejas entre ellas.
- La posibilidad de manejo por los usuarios finales es total y se ha ido reforzando con nuevas formulas, sparklines y powerpivot.
- El usuario tiene toda la libertad para modificar, cambiar, exportar, pegar, retocar y jugar con los datos, con gran tranquilidad y sin sentirse observado.
Por todo ello, el Excel se convierte en el principal "reproductor" de datos. Se descargan los datos de otro lugar, y se visualizan en el Excel; de modo similar a como se obtiene la música de otras fuentes, y se escucha en el iPod...
Sin embargo, el Excel también presenta inconvenientes, casi todos ellos relacionados precisamente por cómo "descargamos" los datos sobre el spreadmart... Los principales inconvenientes son:
- Es complicado cargar la información desde las bases de datos corporativas hasta el informe Excel.
- Es complicado mantener la información actualizada, y periódicamente se debe modificar de forma manual cada uno de los informes en Excel.
- La información que se introduce manualmente en el Excel queda desconectada del resto de información corporativa y se convierte en un dato invisible e inútil.
Ni Microsoft ni otros proveedores han resuelto esta problemática. Habitualmente, la solución pasa por crear un nueva bases de datos (cubos de Analysis Services), o utilizar complicados asistentes de importación de datos... O preparar el informe con otra herramienta de reporting, y exportarlo al Excel... Ninguna de estas soluciones es ideal, y añade otros problemas. Bingo Intelligence es un software de Business Intelligence que opta por una estrategia diferente e innovadora...
Bingo Intelligence se integra perfectamente con Microsoft Excel con el objetivo de aprovechar todas sus ventajas y ofrecer soluciones ante sus inconvenientes. Con Bingo Intelligence, es posible descargar los datos desde nuestra base de datos relacional hasta nuestro informe en Excel. Una vez descargados los datos, el usuario de negocio tiene libertad para configurar el aspecto y la complejidad del informe. Y la información estará siempre actualizada.
Os dejo un vídeo donde se muestra esta integración entre Bingo Intelligence y Microsoft Excel:
Este tipo de soluciones son muy adecuadas en proyectos Business Intelligence de reporting en Excel, de planificación (budgeting, planning, forecasting)... es decir, en todos aquellos proyectos en los que necesitamos una base de datos pero en los que no se puede prescindir del Excel como front-end.
BI Tweets (Semana 2010-03-11)
- 11 Answers to “Why Isn’t My BI Application Useful?” http://bit.ly/9edNEI #
- Five Indispensable #MySQL Tools http://bit.ly/cFnFfv #
- #SQLServer 2008 Analysis Services Consolidation Best Practices http://bit.ly/9M7RZX #
- A faster way to prepare dimensional databases http://bit.ly/91sEIe #
- Tips for Simplifying Crosstab Query Statements http://bit.ly/9jrOCK #
- Security and Compliance for #SaaS BI http://bit.ly/dbrubD #
Primer vistazo a Performance Point Services
Un paseo rápido por Performance Point Services buscando diferencias con la versión 2007
Desde el punto de vista de arquitectura el cambio es grande, no tanto si lo vemos desde el punto de vista de funcionalidad.
Diagrama de despliegue de arquitectura de Performance Point Services. Absolutamente integrado en SharePoint 2010.
Para llegar de forma rápida a lanzar Dashboard Designer me he creado un colección de sitos con la plantilla de Business Intelligence Center, lo que me permite disparar el instalador de Dashboard Designer por primera vez, aun estoy buscando el equivalente a la pagina central donde se podía hacer la distribución de Dashboard Designer y el acceso directo a la página de Preview, no localizo el sitio de Preview, seguirá existiendo?
Look & Feel muy similares a la versión 2007, la Jerarquía de objetos de la solución también, los orígenes de datos permanecen, excepto AS 2000 y ODBC tal como se anuncia, echo de menos BW SAP 3.x (Fue un sueño que duró poco).
En la cinta home hay una opción nueva para importar elementos de un Dashboard existente, el nuevo formato del Dashboard ahora se almacena en extensión *.ddwx, he localizado bastante ayuda sobre como migrar soluciones y objetos existentes en PPS Monitoring 2007, pero no para las basadas en OWC 2003, lógico ya que estaban marcadas para morir…, tampoco veo el análisis de tendencia, pero si un “KPI details” que no conocía en los informes.
Al crear un nuevo Scorecard, tengo opción de ponerlo en distintas listas de SPS 2010
Por el resto de cosas por donde he pasado tiene un aspecto muy similar a como estaba, claro pero ahora embebido completamente en SPS2010 con todo lo que eso implica a nivel de seguridad y de control de versionado, de seguridad de acceso a orígenes de datos Etc.
Finalmente la opción de despliegue es muy parecida a la versión anterior.
Despliegue realizado y Dashboard listo para consumir desde Webparts.
También he visto algunos cambios en las propiedades de la columna del actual y target en el Scorecard
Las propiedades de conexión al servidor siguen en el mismo sitio, pero ahora ya sin posibilidad de gestionar los roles de seguridad de servidor, estos se han ido a SharePoint.
Seguiremos buscando novedades que contar.
Más información en:
http://technet.microsoft.com/es-es/library/ee661741(office.14).aspx
Published: 3/11/2010 11:34 PM
Attachments: http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image002_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image002_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image004_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image004_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image006_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image006_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image008_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image008_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image010_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image010_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image012_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image012_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image014_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image014_thumb_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image016_2_407B5611.jpg
http://blogs.solidq.com/ES/BICorner/Lists/Posts/Attachments/53/clip_image016_thumb_407B5611.jpg
¿Cómo enfocar las métricas para Data Governance?
En un post de BIllage definíamos Data Governance, recuperamos la definición para poder continuar hablando del tema:
Data Governance aúna personas, procesos y tecnología para cambiar la forma en que los datos son adquiridos, gestionados, mantenidos, transformados en información, compartidos en el contexto de la organización como conocimiento común y sistemáticamente obtenidos por la empresa para mejorar la rentabilidad.
El hecho es que esta disciplina es compleja pero absolutamente necesaria sobretodo en ámbitos corporativos de un tamaño considerable o que manejan una gran cantidad de datos. Por lo que es necesario tener claro que las métricas de un proyecto de Data Governance deben pertenecer a las siguientes categorías (que responden a unas claras preguntas):
- Exactitud: ¿los datos reflejan la realidad de la organización o la de una fuente verificable? Atención, he aquí de fondo el concepto de empresa extendida.
- Integridad: ¿Las relaciones entre los datos son consistentes?
- Consistencia: ¿existe una única representación del dato? Es decir, aquí aparece el concepto de single vision of truth.
- Completitud: ¿hay información clave perdida o desaparecida?
- Validez: ¿los datos son guardados en el formato correcto y contienen datos válidos?
- Accesibilidad: ¿los datos son accesibles de forma sencilla, comprensible y son usados de forma consistente?
- Atemporalidad: ¿la información es registrada y accesible a los sistemas tan rápido como es necesario? Es decir estamos hablando de lo que se suele denominar right time.
Está claro que estas mismas preguntas (hechas en voz alta) nos proporcionan un claro indicio para determinar en qué estado estamos e identificar la necesidad de desplegar un proyecto de Data Governance.
Archivado bajo:Data Governance
Estudio del uso de Software Libre en España (universidades y centros I+D)

La gente del Observatorio Cenatic nos pasa la noticia de la presentación del Estudio sobre la situación actual del software de fuentes abiertas en las Universidades españolas y Centros de I+D españoles
Se trata de un documento que os podéis descargar en PDF (ojo, son 8Mb), pero realmente interesante para conocer lo que se está moviendo en las Universidades y los Centros de Investigación en España con el Software Libre que es mucho.
Se trata del primer informe que incorpora información cualitativa y cuantitativa del estado de implantación y uso de las tecnologías libres en el mundo académico e investigador en España. Sus resultados incluyen información estratégica de utilidad para los responsables de la toma de decisiones tecnológicas, y ayuda a comprender los beneficios que el software libre aporta.
Muy interesante, completo y recomendable.
Las cosas importantes deben estar en papel
En el último artículo comentaba las dificultades que están teniendo las administraciones públicas para subirse al carro de la modernización tecnológica. Hoy os presento un caso donde se dan pasitos en el sentido correcto... Se trata del "plan antifraude" que presentó la Ministra Salgado (lástima que lo presentase cargando suficientes folios para desforestar los bosques del Amazonas, por cierto...)

Se trata, evidentemente, de un proyecto típico de Business Intelligence (Governance Intelligence, en este caso). Tanto en el sector privado como en la cosa pública, las organizaciones disponen de información repartida y duplicada entre diferentes bases de datos. Por razones operativas puede ser conveniente que cada aplicación gestione sus propios datos. Sin embargo, estos "nichos de información" son un grave problema para las aplicaciones analíticas. Para analizar la información, es necesario disponer de un acceso fácil y rápido a información confiable y actualizada. Y este acceso -fácil, rápido, confiable y actualizado- es imposible cuando la información se encuentra repartida entre diferentes departamentos u organismos...
Os contaré un caso personal reciente.
Hace unos semanas recibí una carta del Ministerio de Trabajo en el que manifestaban su deseo de obtener un determinado papel del Registro Mercantil, y me lo pedían... ¡a mí! Oye, si necesitan un papel del Registro Mercantil, ¿porque no se lo piden al Registro Mercantil? Como soy del Centro Excursionsta de Cataluña, no me importó cruzar todo Barcelona (otra vez) para buscar ese importante papel... Al llegar al Registro Mercantil, me piden el tomo, el folio y la hoja donde se registró la sociedad sobre la cual estoy realizando el trámite. Un segundo. ¿Me están pidiendo el tomo, el folio y la hoja donde ellos mismos registraron la sociedad? La historia continúa, pero seria tedioso pormenorizar todas las peripecias. No quiero aburriros. Afortunadamente, tuve que ir y venir varias veces de casa al registro mercantil, por lo que tuve la oportunidad de coger la cámara de fotos y hacer un pequeño reportaje sobre los medios de los que dispone el organismo oficial responsable de mantener el registro de sociedades... Tú, malévolo lector, pensarás que una base de datos es un buen lugar donde registrar y mantener estos datos. Pero eso es porque no sabes que las cosas importantes deben estar en papel.
La siguiente fotografía corresponde al Registro Mercantil de Barcelona, en marzo del 2010, y muestra a una chica buscando papeles frente a una estantería...

El primer plano de la estantería muestra una anomalía espacio-temporal. He enviado este material gráfico al Hawking Physics Institute de Massachusetts para que evalúen si es posible que en Barcelona exista una fuerza maléfica, o algo, que viole las ordinarias leyes de la gravitación universal...

Definitivamente, las Leyes de la Naturaleza no se cumplen a rajatabla en "La Campana". Al ver una decena de cajas repletas de CDs, pensé que había retrocedido 15 años en el tiempo....

O retrocedí en el tiempo, o tal vez sea algún novísimo método de seguridad consistente en copiar la información en CDs, y apilarlos en cajas frentre a los mostradores de los ciudadanos... De esta manera, nadie sospechará que ahí puede haber información importante o valiosa...
La modernización tecnológica en general, y los sistemas de Business Intelligence en particular, son herramientas fantásticas para mejorar los procesos de las organizaciones y mejorar su productividad. Sin embargo, el "plan anticrisis" que encabezaba este artículo no permite hacernos ilusiones, pues responde únicamente a la necesidad de aumentar la recaudación. Además, añadirá más presión sobre los que ya contribuyen (y especialmente sobre PYMES, autónomos y trabajadores). No es ni parece un plan para mejorar los procedimientos administrativos, ni para mejorar la productividad de funcionarios, empresas y ciudadanos. Es lo que dice ser: Unificarán los datos "para luchar contra el fraude fiscal". Para todo lo demás, seguirán siendo bases de datos aisladas.
¿Qué opinas? ¿Soy demasiado pesimista en esta ocasión?
Google Public Data
Nuevo servicio de Google desde Labs: Google Public Data Explorer. Nada que no pase frecuentemente diran algunos. Me gustaría destacar varias cosas. Sobretodo dado que para mí es un paso más hacía la inexorable solución de análisis de información por parte de Google. Este servicio aúna varías de las APIs que hemos observando que últimamente Google ha ido desarrollando y permitiendo trabajar de forma colaborativa (mapas, gráficos, datos).
¿Qué es Google Public Data?
Es un servicio de Self-Service Business Intelligence SaaS sobre data sets públicos orientado al análisis visual de la información. Como dirían algunos casí nada. El conjunto de data sets por ahora es reducido (per sólo es cuestión de tiempo de que se amplie) así como las funcionalidades (no hay drill-down, ni exportar, ni guardar tus consultas personalizadas por ejemplo) pero también es cuestión de tiempo que se integre con otros servicios y se extiendan las funcionalidades. Y tengamos un Google Data Explorer completo.
Pero con sólo lo que incluye ya nos permite empezar a dilucidar sobre por dónde van los tiros: democratización de la información. Una solución pública para el análisis de datos públicos.
Miremos los ejemplos (seleccionando intencionadamente los ratios de desempleo de España versus otros países de Europa): Ejemplo 1 – Ejemplo 2 – Ejemplo 3 – Ejemplo 4
Ya sólo os queda jugar a vosotros mismos (y empezar a pensar qué puede significar este servicio para todos): Google Public Data.
¿Cuál creeis que será la evolución del servicio? ¿Qué pensáis de sus posibilidades?
Archivado bajo:Google
Webinar para comparar MySQL vs Postgre

Mañana, miercoles 10 de Marzo (poco tiempo de antelación, lo sé), hay un Webinar muy interesante que ofrece la empresa EnterpriseDB (especializados en soluciones profesionales basadas en Postgre). Web de EnterpriseDB.
Imprescindible para todos los que trabajéis con Postgre!!
En el webinar, durante más de una hora se discutirá sobre los pros y los contras de MySQL y de Postgre, algo que todos los que trabajamos en la construcción de sistemas DW nos será de interés.
A través de Jos van Dongen.
Tendencias Business Intelligence del 2010 segun HP

Aunque ya con el año empezado, nos cuentan desde el Portal Information Management, cuales son las tendencias que desde HP, creen que serán claves en Business Intelligence durante este año.
Si esto que acabo de comentar en el párrafo anterior alguien lo hubiera leido hace unos cinco años, pensaría que 'que pinta HP pronosticando tendencias en esto del Business Intelligence'; y lo que son las cosas, lo cierto es que HP, es una de esas compañías que decidió dar un giro a su tradicional modelo de negocio Hardware, para adentrarse en el Software y más en realidad en los servicios. Y, liderados por su presidente, dando una importancia máxima al Business Intelligence. Lo comentábamos, ya hace mucho tiempo. HP ha llegado al Business Intelligence para quedarse.
En cualquier caso, las tendencias, que dicen haber extraido de encuestas realizadas a clientes e interesados durante una serie de Conferencias del 2009, tienen un valor indudable (por cierto, van muy en la linea pronosticada por otros medios):
1. Increased data and business intelligence program governance.
2. Enterprise-wide data integration is a good investment.
3. The promise of semantic technologies.
4. Expanding use of advanced analytics.
5. Narrowing the gap between operational systems and the data warehouse.
6. A new generation drives new priorities in data warehousing and BI.
7. Growing impact and opportunity of complex event processing.
8. Growing importance of integrating and analyzing unstructured/semi-structured data.
9. Social computing and BI.
10. Growing interest in cloud computing for BI.
Relación de Webcast grabados en TechNet sobre SQL Server
Os dejo este interesante link con una gran cantidad de webcasts sobre SQL Server. Allí tenéis una amplia gama de temas, entre ellos, migración de DTS 2000 a Integration Services 2005, Novedades de 2008 para DBAs, Reporting Services, Data Warehouses de alto rendimiento, Power Pivot, etc. Y otros muchos que se irán incluyendo.
Como podéis ver un amplio recorrido por el producto desde la versión 2005 hasta la última versión que aún no ha visto la luz, pero de la que tenemos mucha información, SQL Server 2008 R2.
Os dejo el link
Buscando feedback de PAT 0.6

Aunque ya andan preparando los desarrollos de lo que será la versión 1.0 (que sería la verdadera puesta de largo), hay mucho que desde la comunidad y desde todos los que quereis/queremos un visor OLAP Open Source podemos hacer.
Nos han comentado de que todos los que podamos probar la aplicación y darles todo tipo de feedback, será muy bienvenido. Para ello, en esta web, contáis con varios recursos para 'acercaros a PAT':
Demo Online de PAT
Video de PAT
Google Code Project Page
Developer Mailing List
End User Mailing List
JIRA Bug Tracker
Access to the latest Trunk build
The PAT Wiki
xcelsius, twitter y el BI Social
Muy recomedable!! y útil en presentaciones.
Os pongo un ejemplo, buscando por Pentaho.

Como usar el calendario contra consultas MDX en SSRS
En base a mi experiencia he visto que uno de los tipos de parámetro más utilizado en la mayoría de los informes es el calendario. Es raro encontrar un informe que no tenga un o varios parámetros para identificar un rango o un momento en el tiempo que identifique los datos a mostrar por los informes.
Cuando el informe está atacando al motor relacional, utilizar el valor devuelto por el parámetro calendario es automático, podemos utilizarlo directamente contra las columnas datetime que se utilizan en nuestra consulta relacional, sin embargo, cuando el informe está utilizando una consulta MDX su uso se complica algo más.
En el siguiente ejemplo, vemos como se ha definido a través del asistente un filtro basado en la dimensión tiempo y que se modificará a través de parámetros en el informe.
Ilustración 1 - Identificación de parametros en el asistente
Al marcar los check-boxes que identifican el filtro como parámetro veremos que por cada uno de los parámetros que se definen, se crea automáticamente:
- Un dataset oculto en el informe que devuelve el conjunto de miembros de la dimensión utilizada para filtrar por cada uno de los parámetros.
- Un parámetro en el informe que utiliza el dataset para mostrar la jerarquía de tiempo al usuario.
Ilustración 2 - Arbol de objetos en el area de datos del informe
Cuando la dimensión es el tiempo dicho dataset devuelve el rango de fechas que tengamos cargados en nuestra dimensión visualizado en el árbol jerárquico que se haya definido. Esta solución, aunque válida desde el punto de vista técnico, presenta varios problemas; Por un lado no suele agradar al usuario final y por otro puede provocar problemas de rendimiento si tenemos un rango de fechas muy grande cargado en la dimensión tiempo. Estos dos problemas se pueden resolver fácilmente si la clave de la dimensión tiempo está basada en una clave inteligente, es decir, la clave de cada registro en la dimensión tiempo identifica de forma visual la fecha del registro y no es un mero índice incremental (la clave del registro es un entero que representa la concatenación del año, el mes y el dia con el formato yyyymmdd).
Si nuestra dimensión sigue esta regla ya estamos preparados para utilizar parámetros datetime en el informe y podremos seguir los siguientes pasos para su correcta implementación:
- Eliminar el dataset que ha creado SSRS para evitar que se ejecute y se produzca una demora en la presentación del informe al usuario. (datasets FromDateCalendar y ToDateCalendar que aparecen en la Ilustración 2)
- Editar el parámetro para indicar que no utilice ningún dataset como fuente de origen a la vez que indicamos que el parámetro es de tipo datetime.
- Editar los parámetros del dataset principal (AsistenciasSanitarias en nuestro ejemplo) para que utilicen una expresión que identifique el miembro de la dimensión tiempo asociado a la fecha seleccionado por el usuario. En nuestro ejemplo las expresión quedan como sigue:
Parameter Value para el Parámetro FromDateCalendar:
="[Date].[Calendar].[Date].&[" + year(Parameters!FromDateCalendar.Value).ToString + month(Parameters!FromDateCalendar.Value).ToString("00") + day(Parameters!FromDateCalendar.Value).ToString("00") + "]"
Parameter Value para el Parámetro ToDateCalendar:
="[Date].[Calendar].[Date].&[" + year(Parameters!ToDateCalendar.Value).ToString + month(Parameters!ToDateCalendar.Value).ToString("00") + day(Parameters!ToDateCalendar.Value).ToString("00") + "]"
Una vez seguidos estos pasos, la experiencia del usuario se habrá incrementado drásticamente al poder utilizar el control calendario (Ilustración 4) para poder filtrar los datos que desea visualizar en lugar de tener que navegar por una lista de fechas (Ilustración 3).
Ilustración 3 - Navegación por miembros de la dimensión
Ilustración 4 - Control calendario
Podéis ver un video explicativo (está en inglés) a través de este enlace
mms://solidq.com/Using%20Date%20control%20in%20SSRS%20with%20MDX%20datasets.wmv
Published: 3/5/2010 12:22 PMGlobal Recession Map
Adivináis cual es la mancha roja más grande en Europa??

Conociendo un poco más de SpagoBIGeo


