La tabla de hechos

24 07 2007

TablaHechos

Cuando estamos construyendo nuestro Data Warehouse tenemos que diseñar la tabla central que es la que guardará los hechos. A diferencia de un sistema transaccional donde en una tabla tenemos el total de la factura, en otra el total de la orden de compra, en otro el tipo de cambio (y así sucesivamente) en un Data Warehouse (DWH) los hechos (las cosas que sucedieron) están en una única tabla.

Para aclarar la palabra hechos: ¿qué sucedió en mi compañia? Pues vendí, compré, vendí en unidades, tuve un # de empleados. Entonces en la tabla de hechos se guardan las ventas, las ventas en unidades, las compras, etc..

Todo lo que sean indicadores.

Tampoco se trata de hacer una tabla gigantesca que tenga lo de recursos humanos + lo de ventas + lo de produccion + lo de telemarketing + ¡todo!

No hay que exagerar…Time out

Normalmente las cosas que están en la tabla de hechos tienen afinidad entre sí. De esta forma tendremos una tabla de Hechos de Ventas, una de inventario, una de Recursos Humanos, una de produccion, etc.

No todas las herramientas de explotación de Data Warehouse permiten hacer reportes o informes tomando información de 2 o más tablas de hechos; es por esto que a veces en un DWH se suelen encontrar cosas extrañas como las ventas y el # de empleados en la misma tabla de hechos ( para hacer el calculo de Ventas/#Personas). El problema de esto es que el DWH vuelve caótico: cada vez que necesite hacer un calculo entre 2 tablas de hechos hago un nueva table de hechos que junte las 2 y entonces me lleno de tablas de hechos o cubos ( si trabaja con cubos Rolap a esto se le llama cubitis).

Mejor encuentre una herramienta que permita tomar información de multiples tablas de hechos. Artus soporta crear indicadores calculados con columnas de 2 o más tablas de hechos. No solo eso, si no que también permite mezclar en el tablero de control información de diferentes proveedores de cubos: SAP, Analysis Services, Rolap ( Oracle, Sybase, DB2, Redbrick ).

Technorati tags: ,


Acciones

Information

20 responses

26 07 2007
Algunas recomendaciones para la tabla de hechos « Haciendo Cubos

[…] « La tabla de hechos […]

3 06 2010
german araujo

la cobertura es la cantidad de clientes que son atendidos, segun la dimension , para eso usamos una formula :
Count(CrossJoin({[ITNETO]},Descendants([CLIENTES].CurrentMember,[cliente])), ExcludeEmpty)

este es un calculo que se raliza cada vez que se cambian las dimenciones y eso hace lento el proceso.

1 08 2007
El modelo estrella « Haciendo Cubos

[…] concepto de Estrella es bastante sencillo. Hay que diseñar las tablas usando una tabla central para los hechos, tablas para los los catálogos y una tabla de […]

18 05 2010
Ana BLL

Estimados colegas, tengo una duda, estamos diseñando un dw para un sistema academico, la consulta puntual es … puede existir relacion entre dos tablas de hechos y como seria esta relacion. Hemos identificado dos tablas de hechos en nuestro sistema academico que son la tabla de HECHOS INSCRIPCION, HECHOS OFERTA-MATERIA. como se llegarian a relacionar estas dos tablas de hechos.. les agradeceria muchisimo si me pueden sacar esta duda….
saludos cordiales, Ana bll.

18 05 2010
Ana BLL

Bueno …. en mi tabla de hechos: Inscripcion tendre estudiante,carrera,materia,semestre,ano por ejemplo, sin embar en oferta-materia tendre solo (carrera,materia,semestre,ano ) por ejemplo, en ambas tablas tendre los mismos datos, es decir que si bien en la tabla de hechos inscripcion, mis llaves serian, est,carrera,materia,semestre,ano que son llaves extraidas de mis tablas de dimensiones, tambien pueden hacer referencia a la tabla de hechos oferta-materia(carrera,materia,semestre,ano) ????…yo pensaba crearle un unico identificador a cada tupla de oferta-materia, y pasar esa llave a inscripcion, pero no se si eso estara bien.

Y si estoy mal, mil disculpas, realmente soy novata en este area, pero ya me estoy dejando mi ignorancia a un lado, con repecto a este tema.

Muchisimas gracias por tus respuestas.
Atte. Ana BLL

8 11 2008
Juan Carlos

Adrian, excelente blog. Le cuento que estoy diseñando un DM de Ventas, como podra ver soy novato en el tema, y me surge una pregunta puntual (y tal vez otra generica). La puntual sería: La condicion de Venta, que solo puede ser «Contado» o «Credito» vale la pena que sea una «dimension»? (que solo tendria Id y Descripcion) y por el contrario se puede (o debe) dejar como un atributo descriptivo en la tabla de hechos…
La pregunta genérica sería…. ¿vale la pena tener dimensiones con solo Id y Nombre?

10 11 2008
Adrian

Hola Juan,

mil gracias por los comentarios.

Te conviene más ponerlo como indicadores que como dimension. al menos así lo pondria yo ya que puedes hacer calculos más facilmente.

la pregunta generica me fué dificil de entender, me puedes dar mas detalle?

gracias! Saludos !

14 11 2008
hugo

Adrian, que tal!
nuevamente con otras preguntas, los indicadores para este caso son:store_sales,store_cost,unit_sales?

los Inidadores son lo mismo que metricas?

14 11 2008
Adrian

esos serían los indicadores o metricas o kpis.

se discute por ahi si metrica es lo mismo que indicador o kpi…vamos a dejarla a un lado,

saludos
Adrian

30 06 2009
LEIDY

Me sirvio de mucho para un proyecto que tenia que sustentar

3 09 2009
Contreras

Buenas noches, mi duda es la siguiente…
En si en las tablas de hecho no se colocan los totales de las ventas…?

17 02 2010
Alejo

Hola, excelente explicacion, la verdad me ha aclarado muchas dudas, sin embargo, tengo una pregunta, si necesitara manejar varias fechas.. es decir algo como fecha de creacion, fecha de traslado, fecha de eliminacion… es posible manejar varias tablas de tiempo?? o solo con una.. espero me puedas ayudar, gracias

saludos..

4 03 2010
Katy

Hola Adrian, me ha servido mucho tu blog 🙂 quería hacerte una consulta normalmente he visto tabla de hechos para ventas pero a mi me piden para compras le he colocado dimension tiempo, productos, proveedor, lo que me tiene confundida es si necesito incluir en alguna o crear una nueva dimension con los documentos de compra por ejemplo dimension Documento y dentro Documento_Id y tipo documento, porque me hablan de letras, guias de remisión y los documentos que se manejan durante las compras. No se como manejar esa información. Te agradecería bastante tu ayuda.
Gracias de antemano
Katy

3 06 2010
german araujo

quisiera saber como hacer para poder calcular la cobertura en un cubo, tengo una tabla de hechos grande de 3 años , por dia, tengo dimensiones de canal de ventas , distritos, grupo de articulo ,articulos y distribuidoras

18 01 2011
Karla

Hola soy novata también, y tengo la siguiente duda: la tabla de hechos contiene al final un número que es resultado de la combinacion de todas las dimensiones que forman parte de la clave de hechos.

Pero por ejemplo si mi tabla de hechos contiene el número de habitantes y tengo las dimensiones de provincia, sexo y grado de estudios, y quisiera saber por ejemplo todos los que son mujeres (y sin importarme la provincia o el grado de estudios), que tendría que hacer meter una dimensión «ficticia» por ejemplo provincia «99» y estudios «XX». Es que en algunas ocasiones me interesa sacar estadísticas no por todas las dimensiones, y en otras ocasiones si por las 3, o es mejor crear otra tabla de hechos sólo para esa dimension?

sl2

26 01 2011
Adrian

es como tener una hoja de excel con todas esas columnas

si quieres solo las de una provincia entonces filtras el excel por la columna provincia y el resultado sera la suma de la columna # de habitantes.

tus datos estaán al nivel mas granular, el sistema se encargara de calcular los totales a los niveles superiores.

saluds

12 01 2012
Mario Espinosa

Adrian buenas noches, esta blog suyo es lo mejor, no sabe en estos 15 dias que estoy trabajando en mi proyecto de grado, lo mucho que me ha servido. Aun estoy novato, hay una pregunta mas arriba que alguien la hizo, para que porfa nos ayude, es la siguiente:

Buenas noches, mi duda es la siguiente…
En si en las tablas de hecho no se colocan los totales de las ventas…?

24 01 2012
Janeth

Hola
Una duda
¿ en que forma normal estan hechas las tablasde hechos?

gracias

6 11 2013
JESUS

cOMO LLENO LA TABLA DE HECHOS?
PODRIAN HACER UN EJEMPLO.
GRACIAS

17 02 2015
jim

hola, mi consulta es si puedo tener el atributo numero de boleta dentro de la tabla de hechos?

Deja un comentario