manual olap

21
OLAP desde Axapta 2.5 www.trucosaxapta.com

Upload: ignacio-becerril-mondejar

Post on 24-Jun-2015

114 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Manual Olap

OLAP desde Axapta 2.5

www.trucosaxapta.com

Page 2: Manual Olap

www.trucosaxapta.com

Pág. 2

CONFIGURACIÓN DEL SERVIDOR......................................................................3

INTERVALO DE TIEMPO A PROCESAR..............................................................4

IMPORTAR / EXPORTAR........................................................................................4

CONCEPTOS BÁSICOS PARA EL DISEÑO DE LOS CUBOS .............................4

DEFINICIÓN DE UN CUBO (BAJO MI PUNTO DE VISTA) ....................................................4 LA TABLA DE HECHOS ..................................................................................................5 EJEMPLO : ......................................................................................................................5 DIMENSIONES, NIVELES Y MEDIDAS .............................................................................5 CONDICIONES INDISPENSABLES DE LA TABLA DE HECHOS ............................................6

DEFINICIÓN DE CUBOS EN AXAPTA ..................................................................7

LA CONSULTA (QUERY) ................................................................................................7 LA TABLA DE HECHOS ....................................................................................................8 RELACIONANDO OTRAS TABLAS......................................................................................9 RELACIONES AUTOMÁTICAS .........................................................................................10 DEFINIENDO EL CUBO.................................................................................................11 PANTALLA DEL ADMINISTRADOR DE DEFINICIÓN DE CUBOS ...........................................11 MEDIDAS DEL CUBO .....................................................................................................12 CAMPO FECHA DE LA TRANSACCIÓN..............................................................................13 DIMENSIONES ..............................................................................................................14 NIVELES DE UNA DIMENSIÓN REGULAR.........................................................................14 NIVELES DE UNA DIMENSIÓN DE TIEMPO .......................................................................16 VISUALIZACIÓN DEL CUBO............................................................................................16 Las zonas de un cubo...................................................................................................16 YA HE DEFINIDO EL CUBO, ¿ Y AHORA QUE ? ..............................................................18 TRANSFERIR EL CUBO ...................................................................................................18 PROCESAR EL CUBO .....................................................................................................19 VISUALIZAR EL CUBO ...................................................................................................21

Page 3: Manual Olap

www.trucosaxapta.com

Pág. 3

Configuración del servidor Lo primero que hay que hacer para poder usar el OLAP desde Axapta es configurar contra que servidor queremos ejecutar las consultas. Podemos tener diversos servidores y ejecutar cada uno de los cubos en cualquiera de los servidores OLAP. Para crear la referencia a los diferentes servidores OLAP de que disponemos, haremos lo siguiente: Entraremos en: menú General -> Olap -> Configurar

En esta pantalla se nos presentan los diferentes servidores OLAP de que disponemos en el grupo “Servidores OLAP”. Para añadir un nuevo servidor simplemente creamos una nueva línea y introducimos el nombre del servidor en la columna “Servidor OLAP” además de una pequeña descripción de uso interno en la columna correspondiente. Si hubiera algún problema con el servidor (que no se encuentre instalado o bien el cliente no pueda acceder al mismo) Axapta se quejaría en el momento de validar el nombre del servidor, en ese caso seria conveniente revisar lo siguiente :

• Si tenemos instalado el software Análisis Services (parte servidor) en la maquina que deseamos usar como servidor.

• Si tenemos instalado el software Análisis Services (parte cliente) en la maquina desde la que estamos realizando las operaciones descritas anteriormente.

• Si el nombre del servidor OLAP que estamos introduciendo en Axapta corresponde exactamente con el nombre que le hemos dado durante la instalación del Análisis Services al servidor OLAP.

• Si el servidor como tal es accesible desde la maquina cliente (es decir, comprobar que no existen problemas de la red)

Page 4: Manual Olap

www.trucosaxapta.com

Pág. 4

Intervalo de tiempo a procesar Los cubos nos permiten realizar análisis y comparativas de nuestros datos, pero SIEMPRE EXISTE LA DIMENSIÓN TIEMPO. Es decir, podemos configurar un cubo para que nos compare la facturación entre diversos clientes o grupos de artículos o departamentos o la dimensión que nos convenga, pero siempre se tratará de una comparación en función del tiempo (trimestral, anual, semanal, diaria ...) En la misma pantalla en la que se configuran los servidores de que disponemos, tenemos un grupo llamado “Rango de tiempo” en el que debemos especificar el intervalo de tiempo que deseamos procesar (por defecto) cada vez que lancemos un cubo. Mas adelante veremos que estos mismos parámetros se especificaran concretamente en la definición de cada cubo (cuando diseñemos la dimensión tiempo de cada cubo). Importar / Exportar En la pantalla de configuración de servidores OLAP tenemos un par de botones que nos sirven para importar y exportar todos los cubos que tengamos definidos. La definición de los cubos realmente se guarda en un conjunto de tablas dentro de la misma base de datos en la que se guardan el resto de datos de nuestra aplicación (NOTA : La definición de los cubos no se guarda por empresa, aunque las instancias de cubo si son diferentes por cada empresa). Si una vez hemos configurado el servidor OLAP deseamos importar las definiciones de cubos que vienen por defecto con Axapta, nos basta con pulsar el botón “importar” y elegir el fichero que nos sale por defecto. (NOTA : Hay que tener en cuenta que es una importación de datos pura y dura y por tanto nos preguntará si deseamos borrar las tablas que se dispone a importar, es decir, si disponemos de alguna definición de cubos nuestra habrá que ir con cuidado con lo que respondemos a esta pregunta ) La opción exportar no nos permite elegir que definiciones son las que deseamos exportar, es decir, simplemente exporta todas las definiciones de que disponemos. (Es lógico teniendo en cuenta de que se trata de una simple exportación de datos y como tal no es selectiva a nivel de registro, solo a nivel de tabla) Conceptos básicos para el diseño de los cubos

Definición de un cubo (bajo mi punto de vista) Un cubo no es más que el resultado de procesar una tabla de “hechos” en la que se encuentran una serie de importes o cantidades a sumar. La presentación de este resultado se realiza agrupando dichas sumas según una serie de criterios especificados que se basan siempre en las distintas clasificaciones que somos capaces de realizar en nuestra tabla de hechos. Es decir, SIEMPRE NOS BASAMOS EN UNA TABLA DE HECHOS (FactTable en muchos libros y manuales).

Page 5: Manual Olap

www.trucosaxapta.com

Pág. 5

La tabla de Hechos La tabla de hechos es donde se encuentra toda la información que deseamos procesar y resumir, expuesta al máximo detalle. Por decirlo de otra forma es la fuente de información de la que se alimenta el cubo. Cuando decimos al máximo detalle nos referimos a que nunca podremos pedirle a un cubo que nos muestre la información a un nivel de detalle mayor que lo que tenemos en la tabla de hechos, mas bien al contrario, el cubo se usa para poder resumir la tabla de hechos y hacer que sea interpretable a grandes rasgos.

Ejemplo : Tenemos la tabla Líneas de facturas de venta (CustInvoiceTrans) en la que se nos detalla la siguiente información : Factura Articulo Cantidad Importe Margen 1 10 5 500 125 1 12 10 100 10 2 8 3 30 3 2 10 4 400 100 Podemos pedir al cubo que nos informe de : (Medidas)

• La suma de Importes • La suma de márgenes • La suma de cantidades

Y nos lo muestre agrupado por : (Dimensiones) • Nº de factura • Código de Articulo

Es decir, con el cubo podríamos ver cuantas unidades se han vendido en total del articulo “10”, que importe de facturación ha supuesto y que margen nos ha quedado. Bien, pues esto que aquí se ve a simple vista ... OLAP nos permite calcularlo incluso cuando hablamos de miles o millones de registros para los cuales se hace casi indispensable una herramienta de resumen.

Dimensiones, Niveles y Medidas Bien, como se ha visto en el ejemplo anterior : Dimensión hace referencia a la o las columnas que deseamos usar como agrupación (resumen) de la información. Nivel hace referencia a la jerarquía que deseamos establecer en una misma dimensión. Por ejemplo : Imaginemos que ponemos como dimensión “Clientes”, pero nos interesa que esta dimensión se pueda mostrar de forma jerárquica como “Tipo de Clientes” y

Page 6: Manual Olap

www.trucosaxapta.com

Pág. 6

“Clientes” por lo tanto el primer nivel de la dimensión seria la columna que especifica el tipo de cliente y el segundo nivel sería el código del cliente. Medida hace referencia a la o las columnas que deseamos sumar o promediar.

Condiciones indispensables de la tabla de hechos Como hemos comentado anteriormente, un cubo siempre necesita de una dimensión de tiempo. Es decir, en la tabla de hechos ha de existir alguna columna que nos informe de en que momento se realizó ese hecho concreto. (en el ejemplo anterior podría ser la fecha de la factura) Pues bien, Axapta añade otra restricción a todo esto y es que en toda tabla de hechos debe existir una columna que especifique en que moneda se encuentran los importes, así como otra columna que especifique una fecha en la que, en caso de necesitarlo, se deben aplicar los cambios entre monedas. Resumiendo, Axapta nos permite solicitar un mismo cubo en cualquiera de las monedas que tengamos informadas en el sistema, para ello, es necesario que Axapta realice un proceso previo para calcular las conversiones necesarias y por lo tanto necesita saber en que moneda se encuentra cada uno de los importes en cada uno de los registros de la tabla de hechos, así mismo como una fecha en la que aplicar los cambios de divisa necesarios (normalmente suele servirnos la misma columna que hemos usado para la dimensión de tiempo).

Page 7: Manual Olap

www.trucosaxapta.com

Pág. 7

Definición de Cubos en Axapta

La consulta (Query) Lo primero que necesitamos es crear una estructura en la que podamos indicar al motor de cubos de donde y como debe procesar, relacionar y extraer la información necesaria, para ello en Axapta se usa un Query.

Para crear un Query debemos Abrir la ventana del AOT (Árbol de Objetos de la aplicación) y en el apartado “Queries” pulsamos con el botón de la derecha y seleccionamos la opción “Nuevo Query”

Eso nos creará un nuevo nodo que cuelga de “Queries” al que le podremos dar un nombre pulsando F2. Ya tenemos nuestro query, ahora solo falta indicarle las tablas que intervienen y las relaciones que existen entre ellas. La manera más cómoda de hacerlo sería abriendo otra ventana del AOT justo al lado y posicionarnos en el apartado “Tables”.

Page 8: Manual Olap

www.trucosaxapta.com

Pág. 8

La tabla de hechos La tabla de hechos será la primera tabla que incorporemos en el query (es decir, la tabla principal del query). Para añadir una tabla basta con arrastrarla del árbol de la derecha al nodo “Data Sources” de nuestro query.

Como en la imagen, veremos que se crea un nuevo nodo con el nombre de la tabla seguido de “_1” y contiene a su vez una serie de nodos que ahora pasamos a explicar.

• Fields : Especifica las columnas (campos) de la tabla que se incorporan a la query.

Page 9: Manual Olap

www.trucosaxapta.com

Pág. 9

• Sorting : Especifica el Orden en el que deseamos obtener los registros de esta tabla. Aquí se puede especificar sencillamente las columnas (campos) por las que deseamos ordenar o bien uno de los índices que tenga la tabla.

• Ranges : Especifica los diferentes filtros de inclusión o exclusión de filas (registros) que deseamos en la tabla. ( por ejemplo si deseamos que no se muestren las líneas que contengan la venta de un articulo determinado)

• Data Sources : Este nodo es uno de los más importantes y es que nos permite relacionar la tabla principal con otras tablas de las que podemos usar varias columnas como dimensiones (nunca como medidas, las medidas solo salen de la tabla de hechos).

Relacionando otras tablas Como hemos visto en el apartado anterior el nodo “Data Sources” de la tabla que acabamos de incorporar al query nos permite añadir otras tablas y relacionarlas con la tabla de hechos, con el fin de poder usar alguna/s de las columnas de estas otras tablas como dimensiones. Por ejemplo :

Añadimos la tabla InventTable (Es la tabla de Artículos) dentro del nodo “Data Sources” de nuestra tabla de hechos CustInvoicetrans (Líneas de facturas de ventas). Lo primero que hay que hacer es especificar la relación entre ambas tablas, es decir, de alguna forma para cada una de las líneas de factura hemos de ser capaces de encontrar la ficha del articulo que esta contiene. Para ello existen dos maneras, manualmente o

Page 10: Manual Olap

www.trucosaxapta.com

Pág. 10

automáticamente, por razones de tiempo y espacio, en esta primera versión del manual únicamente explicaremos las relaciones automáticas.

Relaciones automáticas Normalmente las tablas ya “saben” como deben relacionarse entre ellas y por lo tanto lo único que deberemos hacer es indicarle que use las relaciones automáticas. La forma de hacerlo es la siguiente :

1. Nos ponemos sobre el nodo de la tabla InventTable. 2. Pulsamos sobre el botón “propiedades” de la ventana 3. En la ventana de propiedades, cambiamos el valor de la propiedad

“Relations” por YES.

Con esto habremos relacionado las dos tablas de forma automática. Una vez hecho esto ya podríamos usar por ejemplo la columna “ItemGroupId” (Grupo de Artículos) de la tabla de artículos como dimensión y así poder ver en el cubo el volumen de ventas por grupo de artículos. Se puede ver en la imagen que el propio Axapta crea los nodos en los que especifica las relaciones existentes entre las dos tablas. ( En este caso indica que el código de articulo de las líneas de factura debe coincidir con el código de articulo de la tabla de artículos, es decir, para encontrar la ficha del articulo Axapta deberá buscar en la tabla de artículos aquel registro que cumpla esta condición de relación)

Page 11: Manual Olap

www.trucosaxapta.com

Pág. 11

Así mismo ahora podríamos añadir mas tablas y relacionarlas con cualquiera de las dos de que ya disponemos siguiendo el mismo procedimiento descrito.

Definiendo el Cubo

Pantalla del administrador de definición de cubos

A esta pantalla se accede mediante el menú “General” -> “OLAP” -> “Administrador de definición de cubos”.

Page 12: Manual Olap

www.trucosaxapta.com

Pág. 12

Para crear un nuevo cubo nos posicionamos en la solapa “General” y creamos un nuevo registro. Deberemos darle un nombre y en la columna consulta deberemos especificar el Query que deseamos usar para este cubo. (La parte de modulo de momento la dejaremos en blanco, en versiones mas avanzadas de este manual profundizaremos en este y otros temas)

Medidas del cubo

A continuación podemos entrar a definir las medidas del cubo, es decir, que campos de la tabla de hechos deseamos sumarizar o promediar y que nombre le damos a cada una de las medidas.

Page 13: Manual Olap

www.trucosaxapta.com

Pág. 13

NOTA : Tanto aquí como en los niveles es muy importante que las columnas se seleccionen de la lista de posibles elecciones y no se escriban de forma manual con el teclado, ya que debido a una serie de fallos del propio editor puede llegar a no funcionar el cubo por culpa de un campo mal entrado y tendríamos que repasar toda la definición para encontrar cual es el problema. Aquí se define el nombre de la medida, a continuación se selecciona la columna que deseamos sumarizar o promediar y seguidamente el tipo de operación que deseamos sobre esta columna SUM = sumar, COUNT = Contar ....

Campo fecha de la transacción En todo cubo aunque en ocasiones no tenga mucho sentido, es necesario especificar la fecha en la que se realizaran los cambios de divisa de los importes. Es decir, cuando solicitamos un cubo le indicamos en que divisa queremos que nos muestre los importes, si la información de la tabla de hechos está en una divisa distinta a la indicada Axapta convertirá todos esos importes basándose en el campo divisa y el campo fecha de la transacción.

Page 14: Manual Olap

www.trucosaxapta.com

Pág. 14

Dimensiones Ahora viene el apartado en el que definimos las diferentes agrupaciones de información que deseamos.

La definición es muy sencilla, simplemente hemos de entrar el nombre de la dimensión y especificar de que tipo es. Los tipos posibles son dos Regular y Tiempo.

NOTA : Debe existir una sola dimensión de tipo tiempo, es decir, es obligatorio que exista y solo debe existir una.

Niveles de una dimensión Regular Posicionados sobre la dimensión en la que deseamos definir los niveles, entramos en la solapa “Niveles”

Page 15: Manual Olap

www.trucosaxapta.com

Pág. 15

La definición de los niveles consiste en especificar en forma jerárquica que columnas y de que tablas vamos a usar para realizar las diferentes agrupaciones del cubo. Primero definimos el nombre del nivel, a continuación seleccionamos la tabla y el campo (columna) que vamos a usar para agrupar la información. Si deseamos que una dimensión contenga mas de un nivel es necesario especificar el numero de nivel en la columna “Nivel” donde el numero menor es el mas alto en la jerarquía. (por ej: Grupo de artículos nivel 0, Articulo nivel 1)

La definición que hemos realizado agruparía por grupo de artículos y nos permitiría poder “navegar” dentro de un grupo de artículos para poder ver los artículos concretos que pertenecen a ese grupo, siempre visualizando el importe total facturado y la suma de cantidades. Aun así, tenemos un pequeño problema y es que con esta definición solo vemos que las agrupaciones nos muestran el código del grupo de artículos y el código del articulo, y en la mayoría de ocasiones nos queda un cubo incomprensible todo lleno de números y códigos. Para solucionar esto, TrucosAxapta.com ha añadido un par de columnas en la definición de niveles en las que podremos indicar si deseamos que nos muestre la descripción de un código concreto (mirar en la sección de trucos de la web).

Page 16: Manual Olap

www.trucosaxapta.com

Pág. 16

Una vez definido de esta forma, en lugar de enseñarnos únicamente el código, nos mostraría CODIGO – DESCRIPCIÓN.

Niveles de una dimensión de Tiempo Cuando definimos la dimensión de tiempo, es necesario especificar :

1. Que columna usaremos como indicación temporal 2. El nivel de detalle o resumen al que agruparemos la información (Año, trimestre,

mes, semana, DIA ...)

Visualización del cubo Aquí simplemente definimos donde queremos que nos sitúe las dimensiones de forma inicial (ya que más tarde podremos redefinir la ubicación de las dimensiones de forma dinámica)

Las zonas de un cubo En un cubo existen distintas zonas y cada una de ellas admite una serie de posibilidades.

Page 17: Manual Olap

www.trucosaxapta.com

Pág. 17

Página La zona de página permite arrastrar dimensiones para que estas sirvan de filtros de la tabla dinámica. Columna En la zona de columna podemos arrastrar cualquier dimensión y desplegar sus niveles, estos se situarán agrupando la información en forma de columnas. Fila En la zona de fila al igual que en la de columna podemos arrastrar las dimensiones y estas servirán para agrupar la información en forma de filas. Datos En esta zona únicamente se pueden arrastrar las medidas. Simplemente sirve para especificar cuales de las medidas definidas deseamos ver. Pues bien, en la solapa “Visualización” de Axapta se nos permite indicar cuales van a ser las zonas “por defecto” de cada una de las dimensiones que hemos definido.

Page 18: Manual Olap

www.trucosaxapta.com

Pág. 18

Ya he definido el cubo, ¿ y ahora que ? Una vez tengamos todo el cubo definido en Axapta, ha llegado el momento de “transferirlo” al servidor OLAP. Es decir, toda la definición que hemos hecho hasta ahora consiste solo en una serie de registros guardados en la base de datos de Axapta pero de alguna forma para poder procesar y generar el cubo, este debe crearse en la base de datos OLAP (la base de datos del Servidor OLAP).

Transferir el cubo Bien, pues lo primero que debemos hacer es transferir la definición del cubo al Servidor OLAP. Evidentemente cada vez que realicemos alguna modificación en la estructura del cubo (añadir o suprimir dimensiones, medidas .... etc.) nos veremos obligados a volver a transferir el cubo al servidor OLAP si queremos que estos cambios se vean reflejados. Para transferir el cubo tendremos que crear primero una instancia de cubo. Para ello debemos posicionarnos sobre la definición de cubo que deseamos transferir y pulsamos el botón “Ejemplo de Cubo”.

Page 19: Manual Olap

www.trucosaxapta.com

Pág. 19

En la pantalla que nos aparece, deberemos crear un registro en el que indicaremos :

• Una breve descripción del cubo • El Servidor OLAP que alojará nuestro cubo • El nombre de la base de datos OLAP (sino tenemos conocimientos avanzados

mejor dejar la que pone automáticamente axapta) • La divisa en la que queremos visualizar el cubo.

Una vez creado el registro podemos proceder a transferirlo al servidor pulsando el botón “Transferir cubos”

Durante la transferencia del cubo nos aparecerá una pantalla como esta en la que se nos irá informando del estado de la transferencia. Una vez finalizada puede cerrarse mediante el botón “Cerrar”.

Procesar el Cubo Una vez ya tenemos el cubo definido en el servidor OLAP, ha llegado el momento de que este se calcule.

Page 20: Manual Olap

www.trucosaxapta.com

Pág. 20

Los cubos deben pre-procesarse para que sea viable manejar la información con mas o menos soltura, con esto queremos decir que si por ejemplo hemos creado un cubo que nos informa del volumen de facturación mensual, al menos una vez al mes tendremos que procesar el cubo. El proceso del cubo no hace nada más que recoger los datos de las tablas que se le han indicado en la definición y crear una serie de vistas y cálculos predefinidos siguiendo la estructura de las dimensiones y medidas solicitadas. De esta forma cuando nos muestre la tabla dinámica se basará en estos datos precalculados. Para procesar el cubo nos basta con pulsar el botón “Proceso”. (Ni falta hace decir que para procesar un cubo este tiene que estar transferido al servidor OLAP)

A la pregunta de “¿Desea procesar el cubo ahora ?” nos basta con pulsar Aceptar.

Page 21: Manual Olap

www.trucosaxapta.com

Pág. 21

Visualizar el cubo Una vez transferido y procesado un cubo, lo único que nos queda sería ver los resultados. Para ello pulsamos el botón “Tabla principal” Al pulsar el botón se nos mostrará una pantalla que en realidad es un Componente de Office.

Una vez veamos esta pantalla lo mejor que podemos hacer es pulsar sobre el botón que exporta la tabla dinámica a Excel y así poderla visualizar de forma más cómoda y vistosa.