Professional Documents
Culture Documents
Table of Contents
SpagoBIXMLAEngine is based on the popular JPivot Olap client . It can be used to query an external
XMLA compliant server like MSAS or ESBASE .
XMLAServer
In order to use the SpagoBIXMLAEngine you need to have already installed a working instance of an
olap server capable of expose its API through an XMLA interface like MSAS , ESBASE or Mondrian
Olap server . In order to install and configure your target Olap server please refer directly to the
documentation provided by your server vendor. Here after is briefly explained how to configure Mondrian
server over tomcat in order to make it work as an XMLA compliant olap server that can be queried by
SpagoBIXMLAEngine.
Download the latest binary release mondrian-version.zip from SourceForge , and unzip it
From the unzipped binary release, explode lib/mondrian.war to
TOMCAT_HOME/webapps/mondrian of your tomcat server (version 5.0.25 or later)
Create or open the mondrian.properties file in TOMCAT_HOME/webapps/mondrian and
customize the mondrian.jdbcDrivers properties for your target database
Open the web.xml file in TOMCAT_HOME/webapps/mondrian/WEB-INF and customize the two
connect strings there to the same database parameters for the FoodMart database you installed
following the instructions above . That is,
Provider=mondrian;Jdbc=jdbc:odbc:MondrianFoodMart;Catalog=/WEBINF/queries/FoodMart.xml;JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver;
becomes
Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart?
user=foodmart&password=foodmart;Catalog=/WEBINF/queries/FoodMart.xml;JdbcDrivers=com.mysql.jdbc.Driver;
Create a mondrian schema that maps your phisycal relational schema to the dimensional one used
by mondrian. You can do it by hand, starting from an existing schema and than modifying it
properly, or using some graphical design tool.
Add your mondrian schemas under TOMCAT_HOME/webapps/mondrian/WEB-INF/queries
TOMCAT_HOME/webapps/mondrian/WEB-INF create a file called datasources.xml, with
content like this:
<?xml version=
"1.0"?>
<DataSources>
<DataSource>
<DataSourceName>MondrianFoodMart
</DataSourceName>
<DataSourceDescription>FoodMart 2000 Data Warehouse From MS Analysis Services
</DataSourceDescription>
<URL>http://localhost:8080/mondrian/xmla
</URL>
<DataSourceInfo>Provider=mondrian; Jdbc=jdbc:odbc:MondrianFoodMart;
JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver
</DataSourceInfo>
<ProviderType>MDP
</ProviderType>
<AuthenticationMode>Unauthenticated
</AuthenticationMode>
<Catalogs>
<Catalog name=
"FoodMart">
<Definition>/WEB-INF/schema/FoodMart.xml
</Definition>
</Catalog>
<Catalog name=
"Marketing">
<DataSourceInfo>Provider=mondrian; Jdbc=jdbc:odbc:MarketingDB;
JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver
</DataSourceInfo>
<Definition>/WEB-INF/schema/Marketing.xml
</Definition>
</Catalog>
</Catalogs>
</DataSource>
<DataSource>
<DataSourceName>PostgreSQLTest
</DataSourceName>
<DataSourceDescription>Test Data Warehouse On PostgreSQL
</DataSourceDescription>
<URL>http://localhost:8080/mondrian/xmla
</URL>
<DataSourceInfo>Provider=mondrian; Jdbc=jdbc:postgresql://localhost/olap;
JdbcDrivers=org.postgresql.Driver; JdbcUser=pgsql; JdbcPassword=pgsql
</DataSourceInfo>
<ProviderName>Mondrian
</ProviderName>
<ProviderType>MDP
</ProviderType>
<AuthenticationMode>Unauthenticated
</AuthenticationMode>
<Catalogs>
<Catalog name=
"Test">
<Definition>/WEB-INF/schema/TestPgsql.xml
</Definition>
<Catalog>
</Catalogs>
</DataSource>
</DataSources>
ProviderType and AuthenticationMode are ignored because the XML/A implementation provided by
Mondrian server currently only supports 'MDP' and 'Unauthenticated'.
The name of each catalogs defined in datasources.xml must match the name attribute in the respective
schema file and must be unique
add or un-comment the following block into web.xml
<servlet>
<servlet-name>MondrianXmlaServlet
</servlet-name>
<servlet-class>mondrian.xmla.impl.DefaultXmlaServlet
</servlet-class>
</servlet>
<Context docBase=
"SpagoBIJPXMLAEngine" path=
"/SpagoBIJPXMLAEngine" reloadable=
"true" source=
"org.eclipse.jst.j2ee.server:SpagoBIJPXMLAEngine">
<ResourceLink global=
"spagobi_resource_path" name=
"spagobi_resource_path" type=
"java.lang.String"/>
<ResourceLink global=
"spagobi_sso_class" name=
"spagobi_sso_class" type=
"java.lang.String"/>
<ResourceLink global=
"spagobi_service_url" name=
"spagobi_service_url" type=
"java.lang.String"/>
</Context>
<SCHEMAS>
<SCHEMA catalogUri=
"/WEB-INF/queries/YourSchemaFileName.xml" name=
"YourSchemaName" />
</SCHEMAS>
<CONNECTIONS-CONFIGURATION defaultConnectionName=
"FoodmartXMLA">
<CONNECTION name=
"FoodmartXMLA" type=
"xmla" xmlaServerUrl=
"http://host:port/mondrian/xmla"/>
</CONNECTIONS-CONFIGURATION>
Restart the server an create a new OLAP document by choosing the SpagoBIXmlaEngine
In the document detail page use the template builder to automatically create the template for the
given document
In olap engine the template specifies the target schema to use, the selected cube inside the target schema
and the starting MDX query to exucute on the selected cube;
here it is an example of the template generated by the wizard