Before designing the report it is necessary to specify what data you will be working on and which the connection mechanism will be.
This tutorial builds a report using data stored in an O3 cube.
Extraction of these data is performed in 2 steps:
- Define the data source
- Define the data set.
You may have several data sets defined on the same data source.
Defining a Data Source
- Select New Data Source in the Data menu to create a new data source.
- Choose the Data Source type for O3 ( O3 Data Source)
This lets you define a data source for O3 cubes and views. These O3 data sources may be of two types:- Sources that access views saved in the server.
- Sources that access cubes saved in the server and use MDX language to specify the query.
- Indicate the Data Source Name.
In this example the data source will be called "O3 Local" - Enter the Data source parameters.
Host Name:
The name or IP address of the server where O3 is running.
In our case:localhostPort:
Server port indicated in the parameter above where O3 server is run.
In our case we will use port 7777 by default.User Name:
Name of the user defined in O3 that will be used for connection to the server.
In our case, we will use userPassword:
Password of the user defined in the previous field.
In our case we will use the user's password.Query Type:
It indicates the Data Source Type to be used: MDX Query or O3 View.
In our case O3 View - Verificar que la conexión se estableció en forma correcta presionando el botón Test Connection...
Definiendo un Conjunto de Datos (Data set)
Una vez definida la Fuente de datos, es posible definir los Conjuntos de Datos que se obtendrán de dicha fuente. Cada Conjunto de Datos será una consulta diferente que como se mencinó anteriormente podrá originarse desde una vista o a través de MDX.
Sea cual sea el caso, la creación del Conjunto de Datos (Data Set) es la misma.
Para el caso concreto de este tutorial se utiliza una vista sobre el cubo de vinos que se define como se muestra en la siguiente imagen
En esta vista se seleccionan las medidas Litros Vendidos y Venta Neta como columnas y en el eje vertica se colocan las dimensiones de Vendedores y Vinos en sus respectivos niveles Vendedor y Vino.
Una vez definida la vista y almacenada en el servidor con el nombre VinosPorVendedor con alcance público se deben seguir los siguientes pasos:
- Seleccione la opción del menú Data->New Data Set
- Indique el nombre del Conjunto de Datos (Data Set Name)
- Seleccione la Fuente de datos sobre la que se desea definir el conjunto de datos
En este ejemplo la fuente de datos se llama "O3 Local". - Seleccionar O3 Data Set como tipo de Conjunto de Datos
- En la ventana de definición del nuevo Conjunto de Datos, ingrese la consulta que se muestra a continuación para obtener los datos desplegados en la vista pública VinosPorVendedor. Esta vista debe haber sido creada con aterioridad en el servidor de O3
En la consulta es importante destacar la cláusula FROM de la clausulta que hace referencia a 'Vinos/VinosPorVendedor#_public'. Este es el nombre con el que se hace referencia a la vista necesaria para este reporte.Vinos
Es el nombre del cubo tal como está publicado en el servidor
VinosPorVendedor
Es el nombre de la vista de donde se extraen los datos
#_public
Indica que la vista es una vista pública.
- Presionar el botón Finish para aceptar los cambios
- La ventana que se muestra a continuación permite modificar parámetros adicionales del Conjunto de Datos, así como obtener una Vista Preliminar (Preview Results) de la consulta
Definiendo Conjuntos de Datos a través de MDX
Los pasos anteriores permitieron definir un Conjunto de Datos utilizando una vista previamente almacenada en el servidor.
O3 permite un método alternativo que no requiere salvar ninguna vista, sino que por el contrario permite al diseñador del reporte indicar la consulta directamente en el propio reporte.
Este método alternativo utiliza el lenguaje de consulta MDX, el cual permite especificar consultas multidimensionales sobre los cubos publicados en el servidor de O3
- Crear una nueva fuente de datos (Data Source) llamada O3 Local MDX con los siguientes parámetros
Host Name:
localhost
Port:
7777
User Name:
user
Password:
user
Query Type:
MDX Query
- Crear un nuevo conjunto de datos (Data Set) llamado Ventas MDX con los siguientes parámetros
Name:
Ventas MDX
Data Source:
O3 Local MDX
Data Set Type:
O3 Data Set
- Ingresar la siguiente consulta MDX para este nuevo conjunto de datos
SELECT {[Measures].[Litros Vendidos], [Measures].[Venta Neta]} ON COLUMNS ,CROSSJOIN({[Vendedores].[Vendedor].members}, {[Vinos].[Vino].members}) ON ROWS FROM [Vinos]
En esta consulta se genera una tabla de datos que contendrá:
- Una fila por cada Vino vendido por cada Distribuidor
- Para cada combinación de Vino con Distribuidor mostrará 2 columnas (las medidas Litros Vendidos y Venta Neta)
Distribuidor |
Vino |
Litros Vendidos |
Venta Neta |
---|---|---|---|
Distribuidor 1 |
Vino 1 |
10 |
1500 |
Distribuidor 1 |
Vino 2 |
15 |
2700 |
Distribuidor 2 |
Vino 1 |
13 |
1780 |
... |
... |
... |
... |
Distribuidor 3 |
Vino 3 |
12 |
720 |
La cláusula CROSSJOIN de la consulta es la que permite lograr la anidación de las dimensiones de Distribuidores y Vinos que también existía en la Vista.
Por más detalles acerca de la sintaxis y las opciones que brinda el lenguaje MDX soportado por O3 referirse a Escribiendo consultas MDX