Haciendo un cubo con Artus

1 08 2007

ModeloEstrellaVentasChico

Entrando de lleno al tema, lo primero que se necesita para hacer un cubo con Artus es una estrella que contenga la información. Es decir, usted debe de construir unas tablas siguiendo el modelo estrella y llenarlo con datos. Un modelo estrella no es otra cosa que una tabla con catálogos.

Para hacer este tutorial previamente preparé un modelo estrella y para hacer más fácil esto, la puse en access y está disponible aquí. Bájelo y descomprímalo en un directorio que le sea fácil de recordar; luego cree un ODBC que apunte a esa base de datos. El que yo cree en mi máquina para el tutorial le puse el nombre de Estrella, igual que el nombre de la base de datos de Access.

A la izquierda puede ver el diagrama entidad relación de la base de datos. Es un pequeño ejemplo de ventas de un supermercado. Retail dirá alguien.

Por cierto, en la vida real Access no es una buena opción para almacenar estrellas. Normalmente usted usará un motor SQL más poderoso como Oracle, SQLServer o DB2 para esto. En castellano, en la vida real no ponga las tablas en access si no en un SQLServer, Oracle u otra base de datos relacional que tenga ahí a la mano. Si no me cree, ponga en una base de datos de access más de 1 giga de información.

Para los que tengan experiencia en esto y se pregunten si Artus funciona con copos de nieve, sí, Artus funciona con copos de nieve. Solo hagan un search&replace en este tutorial de la palabra estrella por copo de nieve y ya está. Funciona.CuboNuevo

Lo primero que vamos a hacer es firmarnos en el Artus Administrador con el usuario supervisor. Localice la sección de cubos, dé clic derecho sobre ella y seleccione Nuevo, Usando Artus Wizard.

Esto arrancará un asistente que nos permite decirle a Artus que el modelo estrella es un cubo.

Usted verá la siguiente pantalla. Aquí Artus le está preguntando por el ODBC

InicioCubo

que apunte a la base de datos donde está la estrella. Cuando esté utilizando el Designer, el Desktop o el WEB; Artus lanzará los queries a la base de datos utilizando este ODBC.

En el primer campo Dimensiones Disponibles seleccionamos Estrella. Automáticamente en Driver de la Conexión se pondrá la palabra Access. En este ejemplo no tenemos seguridad en la base de datos así que dejamos estos campos vacíos.

Es SUPER-IMPORTANTE que active la casilla Tipo de Cubo Rolap. Si usted no activa este check-box el wizard se comportará de manera diferente y todo lo que viene en este tutorial no aplica. Si se pregunta que pasa si lo desactivo, la respuesta es que el Wizard creará un cubo según el formato propietario de Artus usado en las primerísimas versiones de la herramienta. Formato propietario que ya NO estamos usando y que está ahí solo para propósitos de compatibilidad hacía atrás. Así que olvidémonos del pasado…

Oprima: Siguiente.SeleccioneTablas

En la pantalla siguiente el asistente le muestra las tablas disponibles en la base de datos. Artus obtiene esta lista de las tablas de sistema de la base de datos así que en la vida real cuando esté trabajando con una base de datos Oracle, SQLServer u otra asegúrese que el usuario que utiliza tenga permisos de lectura sobre estas tablas para que Artus pueda obtener esta lista.

De la lista de tablas vamos a seleccionar las tablas: Products, Promotion, SalesFact, Stores y TimeDim. Las pasamos del lado derecho con la ayuda de los botones. No importa el orden.

Oprima: Siguiente.

DiagramaEstrellaWizard1

En este momento Artus le mostrará las tablas. Acomódelas de como se muestra en el diagrama anterior. Para establecer las relaciones entre las tablas hay que hacer un paso más.

Primero seleccione la herramienta Relación Equi-Join dando clic sobre el botón ( el que se muestra encerrado en un circulo en la imagen superior) y luego dé clic primero sobre el campo origen y en seguida sobre el campo destino.

Es el primero a la izquierda de los 3 botones que corresponden a relaciones. Si no estoy mal, el segundo y tercer botón deben de estar deshabilitados ya que no aplican para este tipo de cubo.

Para nuestro tutorial las relaciones son como siguen ( utilizando la notación Tabla.Campo )

  Origen Destino
  Products.Product_ID SalesFact.Product_Id
  Promotion.Promotion_ID SalesFact.Promotion_ID
  Stores.Store_ID SalesFact.Store_ID
  TimeDim.Time_ID SalesFact.TimeID

¿por qué estos campos? Por que son los campos llave de las tablas. Cuando yo diseñe las tablas establecí que estos son los campos llave. Normalmente la persona que diseña la estrella es la que le informará cuales son los campos que debe ligar.

Vamos a tratar de explicar esto. Cuando usted utiliza el Designer, el Desktop o el WEB (me refiero Artus); estos programas le lanzan queries al modelo estrella. El leguaje utilizado es SQL. Conforme usted haga drill-down, voltee la consulta o grafique; Artus construirá el query (SQL) apropiado y lo ejecutará sobre la estrella. Lo que el SQL regrese es lo que Artus mostrará.

Entonces, cuando usted quiera ver el total de Ventas desglosadas por producto; Artus construirá un SQL como este:

SELECT
   PRODUCT_NAME,

   SUM(STORE_SALES)
FROM
   SALESFACT,
   PRODUCTS

WHERE
   SALESFACT.PRODUCT_ID = PRODUCTS.PRODUCT_ID
GROUP BY
   PRODUCT_NAME

¡Ahí está el detalle! los campos que usted relaciona son los que utiliza Artus cuando construye el SQL en la parte del WHERE. De esta manera si Artus necesita construir un query que involucre a 2, 3 o más tablas; ya sabrá que campos utilizar para hacer el join entre las tablas.

Para los que se pregunten si hay forma de que Artus lea estas relaciones de la base de datos la respuesta es: No por el momento.

Establecidas las relaciones ahora los que necesitamos hacer es establecer que campos son los indicadores, cuales las dimensiones y cuales las llaves de cada dimensión. Comencemos primero por las dimensiones. Una dimensión está compuesta de 2 partes, del campo descriptor y del campo llave que la acompaña. 

Vamos a marcar nuestro primer campo descriptor. Seleccione la herramienta dimensión HerramientaDimension y dé clic sobre el campo PRODUCT_NAME de la tabla de PRODUCTS. El campo se marcará como una dimensión. Hecho esto seleccione la herramienta llave HerramientaLlave y marque cual es el campo llave, en este caso haga clic en el campo PRODUCT_ID de la misma tabla. Si le da clic derecho a cualquiera de los 2 campos verá que aparece un PROPIEDADES del campo. Dé clic a propiedades y observe que en la pantalla que le aparece viene un lugar donde capturar el nombre lógico. Este es el nombre que el usuario verá. Utilice nombres amigables.

Si se equivoca utilice la herramienta Borrar marca HerramientaBorrarMarca

Haga esto mismo con los demás campos hasta que todo quede como en la siguiente imagen. IMPORTANTE, NO marque primero todos los campos descriptores y luego todos los campos llaves. Hágalo por parejas, un campo descriptor y su respectivo campo llave. Si primero marca todos los campos descriptores cuando marque el primer campo llave Artus no sabrá de qué campo descriptor es llave, así que puede tomar cualquiera; lo cual sería un grave error ya que se puede dar el caso que Artus piense que el campo llave para el pais es el código de la tienda. Una forma de darle la vuelta a este problema es que cada vez que marque una llave, le dé clic derecho PROPIEDADES y asegúrese que en “Pertenece a” esté seleccionado el campo correcto. De esta forma usted puede marcar primero todas las dimensiones y luego todas las llaves pero son mas clics.

DiagramaEstrellaWizard3

Esta es una imagen de como le debe de quedar el diagrama. Me adelanté e incluí en el diagrama los indicadores. Para marcar cuales son los indicadores seleccione la herramienta indicador herramientaindicadores  de la barra de herramientas y dé clic sobre los campos Store_sales, Store_cost y unit sales de la tabla de hechos SalesFact.

No es posible marcar indicadores en más de una tabla. Y esto tiene que ver con la definición de tabla de hechos.

Listo, Artus ya sabe como construir el query para obtener las ventas desglosadas por Tienda. Este es el query que Artus construiria para obtener dicha información.

SELECT 
  
STORE_ID, STORE_NAME,
   SUM(STORE_SALES)

FROM
   SALESFACT, 
   STORES
WHERE
   SALESFACT.PRODUCT_ID = STORES.PRODUCT_ID
GROUP BY
   STORE_ID

El campo llave Artus lo utilizará en el GROUP BY de la instrucción SQL que construya. En la porción SELECT incluirá el campo llave y la descripción (a esta siempre le aplica un MAX ).

PropiedadesIndicador Respecto al indicador se preguntará de donde saca Artus que al indicador siempre le aplicará la formula de agregación SUM y además como sabe que STORE_SALES son las ventas. Sencillo, dé clic derecho sobre el campo STORE_SALES marcado yá como indicador y seleccione propiedades

En el campo nombre lógico usted le puede poner un nombre amigable (por ejemplo ventas) al indicador. De esta forma Artus sabe que cuando seleccione el indicador ventas deberá usar el campo Store_sales. Mas abajo está la función de agrupación. Ahí usted selecciona si desea SUM, AVG u otra función de agregación.

Por último nos falta lo más importante ¿cómo sabe Artus de donde tomar el tiempo? Si yo le digo que me muestre en un tablero el mes de diciembre ¿cómo sabe Artus que campo usar en el where para resolver esto?MenuMapeaTiempo

Lo que hay que hacer es primero marcar la tabla que tiene las dimensiones de tiempo.  Para hacer esto seleccione la herramienta fecha de migración HerramientaDimTiempo y dé clic sobre el campo The_Date de la tabla TimeDim.

Todos los modelos estrella o copos de nieve tienen una tabla de tiempo y dentro de la tabla de tiempo tienen un campo fecha. Ese es el campo que tiene que marcar. De esta forma Artus sabe que ahí vienen las fechas. Si ya marco el campo fecha ahora tenemos que marcar los siguientes campos como dimensiones.

Siempre marque el campo fecha antes de marcar las dimensiones de fecha. Siempre.

Seleccione la herramienta dimensión HerramientaDimension y dé clic sobre el campo The_Year, observará que al hacerlo Artus le muestra la lista de dimensiones de Tiempo que Artus maneja. Usted tiene que seleccionar el campo The_Year a que dimensión de Tiempo de Artus corresponde. En este caso seleccione Anual. Haga lo mismo con el campo Time_ID (seleccione Dia para la dimensión de tiempo Artus) y The_Month ( Seleccione Mensual para la dimensión de tiempo de Artus).

De esta forma cuando Artus construya el query para sacar los datos del mes de diciembre Artus usará:

WHERE
   SALESFACT.PRODUCT_ID = STORES.PRODUCT_ID

   AND THE_MONTH = ’2007-01′

La pregunta importante aquí es ¿de donde saca Artus que debe de usar ’2007-01′?¿por qué nó ‘Dec-2007′ ó ’2007-Enero’? Sencillo, dé clic derecho propiedades sobre uno de los campos marcados como dimensión fecha y en el campo formato capture un formato que iguale los datos que están en la tabla que ustéd construyó.

¡Ya está! Listo, hemos casi acabado. Oprima siguiente.

formatosFecha

La aparece esta pantalla. La suya se debe ver igual a esta. Si la columna Formatos de Fecha viene vacía quiere decir que usted no ha puesto el formato fecha para cada dimensión. No se regrese, puede capturar aquí el formato (es lo mismo), déjelo igual que se muestra en la pantalla.

Si usted está usando un formato que utilice el nombre del mes en ingles o español, en esta pantalla en configuración regional selecciona el idioma

Oprima Aceptar.

A la pregunta “No ha definido una jerarquía para las fechas ¿desea continuar sin dicha jerarquía?” Responda SI, si quiere continuar sin definir la jerarquía.

Le mostrará la siguiente ventana.

ListaIndicadoresyDimensiones

En la columna Nombre lógico le mostrara lo que usted capture en las propiedades de cada indicador o dimensión como nombre lógico. Entonces hay 2 formas de poner nombres amigables, darle clic derecho propiedades a cada campo o esperar a este paso para capturar el nombre amigable para cada campo de una sola vez. Use nombres amigables.

Oprima aceptar.

En la siguiente pantalla por fin nos pregunta por el nombre del cubo. Escriba Primer cubo. Es importante que escriba un nombre amigable. El nombre físico no lo puede cambiar.

Oprima aceptar.

En este momento se crea la definición del cubo. Espere un momento hasta que le aparezca el mensaje de que el cubo ha sido creado.

Oprima aceptar.

Guarde su diagrama como si fuera la ultima porción de oro que hay en el mundo. Lo utilizara en el futuro para modificar la definición del cubo. Si lo pierde tendrá que hacer las modificaciones a mano en el Artus Administrador lo cual no es difícil pero es más fácil hacerlo con el diagrama.

Cuando le pregunte si desea crear otro cubo digale que no. Responda sí a ¿desea iniciar Artus Designer?.

Tabla con datos

¡LISTO! Ya puede utilizar el cubo en Artus Designer, ahora sí, a pintar escenarios

Technorati tags: ,

Advertisement

Acciones

Información

19 respuestas

1 08 2007
¿Cómo hacer un cubo en Artus? « Haciendo Cubos

[...] Para ver un tutorial de como hacer un cubo Rolap con Artus dé clic aquí. [...]

10 03 2008
Jaime

Buen dia, una pregunta, donde puedo encontrar Artus, o tal vez si me pudieras ayudar con una version mas vieja que tengo, la 2.1, es que pues basandome en las instrucciones que me das, no son compatibles con el 2.1, o mejor dicho, las opciones en mi version no son tan variadas

y pues ya realice muchos intentos, y no logro crear el cubo, use la base de datos de access estrella que tienes en algun link, para seguir al pie de la letra tus pasos

espero me puedas ayudar de alguna forma

gracias

4 02 2012
Karoline

Tio, eres basnatte un monstruo o_o otro, otro!!!si, estaré al Ficom pero no de firmas,solo a perder tiempo con los amigos :) hasta prontoA.

5 02 2012
gduoao

5A9hvC azahmzbawsfa

10 03 2008
Adrian

Hola Jaime,

te sugeriria contactart la oficina de BITAM directamente. Realmente tienes una versión muy vieja de hará casi 8 años. Te sugiero cambiarla por la más nueva. Dificilmente encontrarás documentación de como hacer un cubo en dicha versión

saludos

8 05 2008
DANIEL MESIAS

De donde saco la tabla TIMEDIM, estoy tratando de hacer un cubo ROLAP pero ahi me quede topado

8 05 2008
Adrian

Hola Daniel,

creo que esto es lo que buscas:

http://haciendocubos.com/2007/07/02/la-dimensin-tiempo/

saludos

29 06 2008
Dave

Hola q tal me parece una herramienta interesante me gustaria conocerla me podrias decir como la puedo obtener

27 08 2008
Silvia

Hola Adrian, felicidades por la pagina y por tu nuevo destino, estuve el verano pasado y es una autentica maravilla :)

Acabo de aterrizar en el mundo del darawarehouse y tengo que hacer un proyecto con BITAM, mas o menos voy haciendo cosillas pero me cuesta bastante la verdad. Parto de un cubo ROLAP, tengo que sacar la prevision de inspecciones de unas gruas, tengo la tabla de hechos con el año de la ultima revision y con el de la proxima revision. Quiero visualizar una tabla dinamica con los dos campos y el numero de inspecciones, el problema es que no se como decir con filtros que me saque tanto los que por ejemplo tienen fecha ultima revision 2008 o proxima revision 2008, vamos, hacer un OR, que igual ni se puede con estas herramientas o no tiene sentido plantearlo asi…..

Muchas gracias por todo y un saludo,

28 08 2008
Adrian

Hola Silvia,

Mil gracias, estoy pero fascinado.

Respecto al filtro, los filtros de Artus usan el And, no veo forma de poder hacer un or. Me explico?

Saludos

28 11 2008
javier

Hola, alguien me puede decir en donde puedo descargar el software de ARTUS?

6 02 2009
Mónica

Hola a todos, estoy trabajando con Bitam desde hace unos meses, creando cubos ROLAP y escenarios para mostrar información.
Hay algunos conceptos en la creación y explotación de cubos que no tengo claros por más que miro los manuales de Artus Administrator y Designer: para qué sirven y CÓMO se crean exactamente las variables y transformaciones de los cubos.
Supongo que estos elementos podrían solucionar necesidades del proyecto si supiera usarlos, pero necesitaría ver con un ejemplo sencillo cómo se crean y cuál es su utilidad.
Muchas gracias

6 02 2009
Adrian

Hola Mónica,

trataré de escribir algo sobre el tema.

Sin embargo, pudiera preguntar que problema tienes en este momento, tal vez pudiera sugerir mientras tanto alguna solución. Si lo prefieres puede mandar un correo con el detalle de los problemas a:

adrian.ceballos “at” haciendocubos.com

gracias por los comentarios,

Saludos

29 06 2009
Sandra

Hola!, estoy haciendo un cubo con tres dimensiones……tengo un problema, cuando pongo los datos en una tabla de artus designer el total me lo pone bien, pero conforme abro las dimensiones me triplica la información, por qué sucede?

29 06 2009
Adrian Ceballos Diossabot

Si es un cubo ROLAP quiere decir que la información que pusiste en los catálogos está duplicada.

Habilita la auditoria de queries con F7 y revisa el query que te está generando,

saludos

18 09 2009
Juan Luis

Estoy empezando operaciones con ARTUS, respecto al ultimo comentario publicado por Sandra a mi me paso lo mismo. La forma en que yo lo arregle es indexando tablas pues los registros en mis catalogos estaban duplicados.

18 08 2010
guaru

Hola
Alguien sabe como cambiar un indicador de segundos a horas, es decir
mi indicador muestra 13 que equivale a 13 seg. y como Artus Administrador solo acepta indicadores de tipo entero o similar, yo quiero poder cambiar este valor, agregando otro indicador para que muestre 00:00:13 en lugar de 13

3 03 2011
Rafael Ceballos

Primo me haz sacado de un apuro, tu web esta buenisima.

Soy desarrollador de software actualmente trabajo con sistemas ERP y estamos desarrollando soluciones de BI dentro de las cuales uso Artus y la verdad que la informacion de tu web me ha servido mucho… incluire un link a tu web desde mi blog, gracias.

Saludos.

24 03 2011
Adrian

mil gracias! Saludos!

Deja un comentario

Fill in your details below or click an icon to log in:

Gravatar
Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s




Seguir

Get every new post delivered to your Inbox.