Business Intelligence fácil
Business Intelligence
viernes, 19 de junio de 2009

Unificar los hechos

En la definición de datawarehouse de Bill Inmon (y en todas las definiciones posteriores de cualquier menda aficionado al BI, como el autor de este blog de Business Intelligence en español) se señala que un DWH es un repositorio donde la información corporativa se encuentra "integrada".

A warehouse is a subject-oriented, integrated, time-variant and non-volatile collection of data in support of managements decision making process (Bill Inmon, 1990)

La cuadratura del círculo. Fundamental en el Business Intelligence.

Efectivamente, cualquier empresa tiene múltiples sistemas operacionales, cada uno de ellos con sus propios maestros y su propia información. Uno de los objetivos del DWH es unificar toda esa información dispersa en un único repositorio. Sin embargo, no se trata sólo de juntar todos estos datos, el objetivo es unificarlos, integrarlos y conformarlos, es decir, dar la misma forma y el mismo significado a dimensiones y hechos aparentemente distintos (en inglés dicen "conform information").

Por ejemplo, una empresa de distribución puede tener dos canales de ventas a través de los cuales vende los mismos productos (venta al mayor y venta retail). Habitualmente, la gestión de estos dos negocios la realizarán personas diferentes de diferentes departamentos, y cada uno de ellos tendrá sus sistemas informáticos con diferencias significativas entre ellos. Es muy diferente el negocio minorista del negocio mayorista.

Pues bien, en este ejemplo, uno de los retos de la creación del DWH sería la unificación de estos dos negocios, porque sin duda existirán usuarios que querrán conocer la "facturación", y la facturación evidentemente incluye las ventas al mayor y al ventas retail. Para realizar esta unificación, las dos tablas de hechos deberán compartir las mismas dimensiones, y deberán definirse con precisión los términos de cada negocio para que resulten agregables entre sí… Incluso, podría ser recomendable unificar los dos hechos en una misma tabla de hechos, donde la dimensión "tipo de venta" permitiese diferenciar las ventas al mayor de las ventas retail.

A esta unificación se refiere el penúltimo error de esta serie sobre cómo construir un datawarehouse:

Error 2: No unificar los hechos entre distintas tablas de hechos

Tal como comentaba, independientemente de que los hechos se modelicen en una o varias tablas de hechos, estos deben tener la misma forma. Deben tener dimensiones compartidas que permitan la comparación y/o agregación entre sí. Si se quiere sumar o dividir la información de distintos hechos, estos deben tener la misma forma y deben haberse cargado aplicando los mismos criterios.

Otro ejemplo de "conformar" adecuadamente los hechos sería aplicar los mismos criterios al cargar las compras y las ventas. Si se quiere calcular el cociente de ventas sobre compras, deberemos asegurarnos que en los dos indicadores se están considerando los mismos productos. No debemos, por ejemplo, olvidarnos de aquellos productos que sólo se venden por Internet o que forman parte de un negocio secundario de la compañía. Si estos productos se incluyen en las ventas, deben incluirse también en las compras (aunque provengan de fuentes distintas).

  1. BI FACILFriday, June 19, 2009

    n el momento de escribir este artículo, me ha costado encontrar las palabras adecuadas para traducir el error de la lista de Ralph Kimball, que dice textualmente:

    Mistake 2: Fail to conform facts across separate fact tables.

    El verbo "conformar" no existe en español, y la mejor traducción que he encontrado es "unificar". Sin embargo, creo que el término "to conform" engloba más conceptos, tal y como he tratado de explicar en esta entrada.

    ¿Alguien se le ocurre una manera mejor de traducir este "mistake"? ¿Cómo se traduce habitualmente "Conform the facts"?

  2. MMAWednesday, March 10, 2010

    Google translate dice que "ajustar".

  3. HernanMonday, August 16, 2010

    Estimado, aclarando que son nuevo en esto de BI... quisiera que me aclares lo siguiente...

    En el ejemplo que pones terminas con "Incluso, podría ser recomendable unificar los dos hechos en una misma tabla de hechos, donde la dimensión "tipo de venta" permitiese diferenciar las ventas al mayor de las ventas retail.", pero el error dice "No unificar los hechos entre distintas tablas de hechos". Que es los que deberíamos hacer ante una situación como esta.

    Muchas Gracias!

  4. BI FACILTuesday, August 17, 2010

    Hola Hernan,

    No veo contradicción. Tal vez no lo haya redactado claramente.

    Lo que debe hacerse es unificar los hechos, y por lo tanto el error es no unificarlo.

    Esta unificación consiste en darles la misma "forma" (conformarlos), para que sea posible consultarlos conjuntamente. Por ejemplo, para acceder al total de ventas (tipo A+tipo B) de España en el 2009...

    De todos modos, debe ser posible diferenciarlos si es necesario, y acceder a las ventas de tipo A, o a las ventas de tipo B separadamente...

    Por eso decía que tendría sentido juntar las ventas en una misma tabla, pero identificarlas a través de una dimensión "tipo de venta"...

  5. anonimoMonday, November 08, 2010

    a lo mejor puedes poner "cohesionar"

  6. BI FÁCILMonday, November 08, 2010

    Hola Anónimo.

    Sí. Me gusta.

    En adelante, utilizaré "cohesionar los hechos" parea referirme a la necesidad de "Conformar los hechos".

    Gracias.