Skip to content

Instantly share code, notes, and snippets.

@sowe
Last active December 18, 2015 16:48
Show Gist options
  • Save sowe/5813522 to your computer and use it in GitHub Desktop.
Save sowe/5813522 to your computer and use it in GitHub Desktop.
package dynamic;
public class CustomDynamicSchema extends FilterDynamicSchemaProcessor implements DynamicSchemaProcessor {
public String username;
public SessionService sessionService;
@Autowired
public void setSessionService(SessionService sessionService){
this.sessionService = sessionService;
}
public CustomDynamicSchema() {
}
public void addRole() {
}
@Override
public String filter(String schemaUrl, Util.PropertyList connectInfo,
InputStream stream) throws Exception {
SessionResource sessionService = new SessionResource();
username = sessionService.getAllSessionObjects().get("username").toString();
String schema = super.filter(schemaUrl, connectInfo, stream);
Schema _schema = new Schema();
schema = _schema.getSchema();
System.out.println(schema);
return schema;
}
}
}
driver:mondrian.olap4j.MondrianOlap4jDriver
url:jdbc:mondrian:Jdbc=jdbc:mysql://localhost/dwh_taptap;Catalog=res:test/schema.mondrian.xml;DynamicSchemaProcessor=org.saiku.web.dynamic.Custom
DynamicSchema;JdbcDrivers=com.mysql.jdbc.Driver;
mondrian.olap.MondrianException: Mondrian Error:Internal error: loading DynamicSchemaProcessor org.saiku.web.dynamic.CustomDynamicSchema
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:967)
at mondrian.olap.Util.newInternal(Util.java:2400)
at mondrian.olap.Util.newError(Util.java:2416)
at mondrian.rolap.RolapSchemaPool.processDynamicSchema(RolapSchemaPool.java:316)
at mondrian.rolap.RolapSchemaPool.getSchemaContent(RolapSchemaPool.java:276)
at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:134)
at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:66)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)
at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:90)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)
at mondrian.olap.DriverManager.getConnection(DriverManager.java:68)
at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:140)
at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323)
at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.<init>(FactoryJdbc41Impl.java:118)
at mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32)
at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:132)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at org.saiku.datasources.connection.SaikuOlapConnection.connect(SaikuOlapConnection.java:75)
at org.saiku.datasources.connection.SaikuOlapConnection.connect(SaikuOlapConnection.java:46)
at org.saiku.datasources.connection.SaikuConnectionFactory.getConnection(SaikuConnectionFactory.java:29)
at org.saiku.web.impl.SecurityAwareConnectionManager.connect(SecurityAwareConnectionManager.java:265)
at org.saiku.web.impl.SecurityAwareConnectionManager.getInternalConnection(SecurityAwareConnectionManager.java:80)
at org.saiku.datasources.connection.AbstractConnectionManager.getConnection(AbstractConnectionManager.java:93)
at org.saiku.datasources.connection.AbstractConnectionManager.getAllConnections(AbstractConnectionManager.java:119)
at org.saiku.web.impl.SecurityAwareConnectionManager.init(SecurityAwareConnectionManager.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory
.java:1536)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java
:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:14
09)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NullPointerException
at org.saiku.web.dynamic.CustomDynamicSchema.filter(CustomDynamicSchema.java:41)
at mondrian.spi.impl.FilterDynamicSchemaProcessor.processSchema(FilterDynamicSchemaProcessor.java:56)
at mondrian.rolap.RolapSchemaPool.processDynamicSchema(RolapSchemaPool.java:314)
... 65 more
jun 19, 2013 12:58:20 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFO: Scanning for root resource and provider classes in the packages:
org.saiku.web
jun 19, 2013 12:58:20 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
class org.saiku.web.rest.resources.DataSourceResource
class org.saiku.web.rest.resources.ExporterResource
class org.saiku.web.rest.resources.BasicRepositoryResource
class org.saiku.web.rest.resources.BasicRepositoryResource2
class org.saiku.web.rest.resources.SessionResource
class org.saiku.web.rest.resources.OlapDiscoverResource
class org.saiku.web.rest.resources.QueryResource
class org.saiku.web.rest.resources.BasicTagRepositoryResource
jun 19, 2013 12:58:20 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
jun 19, 2013 12:58:20 PM org.codehaus.enunciate.modules.jersey.EnunciateJerseyServletContainer configure
INFO: org.codehaus.enunciate.modules.amf.JAXRSProvider not found.
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, datasourceResourceBean, of type org.saiku.web.rest.resources.DataSourceResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, olapDiscoverBean, of type org.saiku.web.rest.resources.OlapDiscoverResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, queryResource, of type org.saiku.web.rest.resources.QueryResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, sessionResource, of type org.saiku.web.rest.resources.SessionResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, repositoryBean, of type org.saiku.web.rest.resources.BasicRepositoryResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, repository2bean, of type org.saiku.web.rest.resources.BasicRepositoryResource2 as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, tagRepositoryBean, of type org.saiku.web.rest.resources.BasicTagRepositoryResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory registerSpringBeans
INFO: Registering Spring bean, exporterBean, of type org.saiku.web.rest.resources.ExporterResource as a root resource class
jun 19, 2013 12:58:20 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.11 12/09/2011 10:27 AM'
jun 19, 2013 12:58:21 PM org.apache.coyote.http11.Http11Protocol start
INFO: Arrancando Coyote HTTP/1.1 en puerto http-8080
jun 19, 2013 12:58:21 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
jun 19, 2013 12:58:21 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/10 config=null
jun 19, 2013 12:58:21 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3579 ms
<bean id="dynamic" scope="reques" class="dynamic.CustomDynamicSchema">
<property name="sessionService" ref="sessionService" />
</bean>
public class Schema {
private String salto = "\n";
private String Schema =
"<Schema name=\"TAPTAPInformationDy\">"+salto+
"<Cube name=\"TapTapPremium\" visible=\"true\" cache=\"true\" enabled=\"true\">"+salto+
"<Table name=\"agrtaptap\">"+salto+
"</Table>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_genero\" highCardinality=\"false\" name=\"Gender\">"+salto+
"<Hierarchy name=\"Gender\" visible=\"true\" hasAll=\"true\" allMemberName=\"All Gender\" primaryKey=\"id_genero\">"+salto+
"<Table name=\"dim_genero\">"+salto+
"</Table>"+salto+
"<Level name=\"Gender\" visible=\"true\" column=\"desc_genero\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_lenguaje\" highCardinality=\"false\" name=\"Idiom\">"+salto+
"<Hierarchy name=\"Idiom\" visible=\"true\" hasAll=\"true\" allMemberName=\"All idiom\" primaryKey=\"id_idioma\">"+salto+
"<Table name=\"dim_idioma\">"+salto+
"</Table>"+salto+
"<Level name=\"Idiom\" visible=\"true\" column=\"desc_idioma\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_activo\" highCardinality=\"false\" name=\"Active\">"+salto+
"<Hierarchy name=\"Active\" visible=\"true\" hasAll=\"true\" allMemberName=\"All active\" primaryKey=\"id_activo\">"+salto+
"<Table name=\"dim_activo\">"+salto+
"</Table>"+salto+
"<Level name=\"Active\" visible=\"true\" column=\"desc_activo\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_evento\" highCardinality=\"false\" name=\"Events\">"+salto+
"<Hierarchy name=\"Events\" visible=\"true\" hasAll=\"true\" allMemberName=\"All Events\" primaryKey=\"id_evento\">"+salto+
"<Table name=\"dim_evento\">"+salto+
"</Table>"+salto+
"<Level name=\"Events\" visible=\"true\" column=\"desc_evento\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_edad\" highCardinality=\"false\" name=\"Age Range\">"+salto+
"<Hierarchy name=\"Age Range\" visible=\"true\" hasAll=\"true\" allMemberName=\"All age range\" primaryKey=\"id_edad\">"+salto+
"<Table name=\"dim_edad\">"+salto+
"</Table>"+salto+
"<Level name=\"ages\" visible=\"true\" column=\"des_rango\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_rango_video\" highCardinality=\"false\" name=\"Video Range\">"+salto+
"<Hierarchy name=\"Video Range\" visible=\"true\" hasAll=\"true\" allMemberName=\"All range\" primaryKey=\"id_rango_video\">"+salto+
"<Table name=\"dim_rango_video\">"+salto+
"</Table>"+salto+
"<Level name=\"Range\" visible=\"true\" column=\"id_rango_video\" nameColumn=\"des_rango_video\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"TimeDimension\" visible=\"true\" foreignKey=\"sk_tiempo\" highCardinality=\"false\" name=\"Date\">"+salto+
"<Hierarchy name=\"Date\" visible=\"true\" hasAll=\"true\" allMemberName=\"All Date\" primaryKey=\"sk_tiempo\">"+salto+
"<Table name=\"dim_tiempo\">"+salto+
"</Table>"+salto+
"<Level name=\"Year\" visible=\"true\" table=\"dim_tiempo\" column=\"id_anio\" nameColumn=\"desc_anio\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeYears\" hideMemberIf=\"Never\" >"+salto+
"</Level>"+salto+
"<Level name=\"Quarters\" visible=\"true\" table=\"dim_tiempo\" column=\"id_quarter\" nameColumn=\"desc_quarter\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeQuarters\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Month\" visible=\"true\" table=\"dim_tiempo\" column=\"id_mes\" nameColumn=\"desc_mes\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeMonths\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Week of Year\" visible=\"true\" table=\"dim_tiempo\" column=\"id_week\" nameColumn=\"desc_week\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeWeeks\" hideMemberIf=\"Never\" >"+salto+
"</Level>"+salto+
"<Level name=\"Week of Month\" visible=\"true\" table=\"dim_tiempo\" column=\"id_week_m\" nameColumn=\"desc_week_month\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeWeeks\" hideMemberIf=\"Never\" >"+salto+
"</Level>"+salto+
"<Level name=\"Day\" visible=\"true\" table=\"dim_tiempo\" column=\"id_dia\" nameColumn=\"desc_dia\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeDays\" hideMemberIf=\"Never\" >"+salto+
"</Level>"+salto+
"<Level name=\"Hour\" visible=\"true\" table=\"dim_tiempo\" column=\"id_hora\" nameColumn=\"desc_hora\" type=\"String\" uniqueMembers=\"false\" levelType=\"TimeHours\" hideMemberIf=\"Never\" >"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_pais\" highCardinality=\"false\" name=\"Country\">"+salto+
"<Hierarchy name=\"Country\" visible=\"true\" hasAll=\"true\" allMemberName=\"All Country\" primaryKey=\"sk_pais\">"+salto+
"<Table name=\"dim_pais\">"+salto+
"</Table>"+salto+
"<Level name=\"Country\" visible=\"true\" column=\"id_pais\" nameColumn=\"desc_pais\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Province\" visible=\"true\" column=\"id_provincia\" nameColumn=\"desc_provincia\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Municipality\" visible=\"true\" column=\"id_municipio\" nameColumn=\"desc_municipio\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_site\" highCardinality=\"false\" name=\"Site\">"+salto+
"<Hierarchy name=\"Site\" visible=\"true\" hasAll=\"true\" allMemberName=\"All Sites\" primaryKey=\"sk_site\">"+salto+
"<Table name=\"dim_site\">"+salto+
"</Table>"+salto+
"<Level name=\"Site\" visible=\"true\" column=\"id_site\" nameColumn=\"desc_site\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Section\" visible=\"true\" column=\"id_seccion\" nameColumn=\"desc_seccion\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Zone\" visible=\"true\" column=\"id_zone\" nameColumn=\"desc_zone\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_mmc\" highCardinality=\"false\" name=\"Carrier\">"+salto+
"<Hierarchy name=\"Carrier\" visible=\"true\" hasAll=\"true\" allMemberName=\"All MMC\" primaryKey=\"id_mmc\">"+salto+
"<Table name=\"dim_carrier\">"+salto+
"</Table>"+salto+
"<Level name=\"mmc\" visible=\"true\" column=\"id_mmc\" nameColumn=\"desc_mmc\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"mnc\" visible=\"true\" column=\"id_mnc\" nameColumn=\"desc_mnc\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Dimension type=\"StandardDimension\" visible=\"true\" foreignKey=\"sk_io\" highCardinality=\"false\" name=\"IO\">"+salto+
"<Hierarchy name=\"IO\" visible=\"true\" hasAll=\"true\" allMemberName=\"Todos las IO\" primaryKey=\"sk_io\">"+salto+
"<Table name=\"dim_io\">"+salto+
"</Table>"+salto+
"<Level name=\"Io\" visible=\"true\" column=\"id_io\" nameColumn=\"desc_io\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Mediaplant\" visible=\"true\" column=\"id_mediaplant\" nameColumn=\"desc_mediaplant\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Distribucion\" visible=\"true\" column=\"id_distribucion\" nameColumn=\"desc_distribucion\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"<Level name=\"Creatividades\" visible=\"true\" column=\"id_creatividades\" nameColumn=\"desc_creatividades\" type=\"String\" uniqueMembers=\"false\" levelType=\"Regular\" hideMemberIf=\"Never\">"+salto+
"</Level>"+salto+
"</Hierarchy>"+salto+
"</Dimension>"+salto+
"<Measure name=\"Click\" column=\"clicks\" aggregator=\"sum\">"+salto+
"</Measure>"+salto+
"<Measure name=\"Shows\" column=\"views\" aggregator=\"sum\">"+salto+
"</Measure>"+salto+
"<!--Measure name=\"Downloads\" column=\"descargas\" aggregator=\"sum\">"+salto+
"</Measure-->"+salto+
"<!--Measure name=\"Different Users\" column=\"diffuser\" aggregator=\"distinct-count\">"+salto+
"</Measure-->"+salto+
"<Measure name=\"Duration\" column=\"duration\" aggregator=\"count\">"+salto+
"</Measure>"+salto+
"<Measure name=\"Adrequests\" column=\"adRequests\" aggregator=\"sum\">"+salto+
"</Measure>"+salto+
"<!--Measure name=\"Views\" column=\"views\" aggregator=\"sum\">"+salto+
"</Measure-->"+salto+
"<Measure name=\"TiempoNum\" column=\"time\" aggregator=\"count\" visible=\"false\">"+salto+
"</Measure>"+salto+
"<Measure name=\"TiempoSum\" column=\"time\" aggregator=\"sum\" visible=\"false\">"+salto+
"</Measure>"+salto+
"<CalculatedMember name=\"Average Time\" dimension=\"Measures\">"+salto+
"<Formula>"+salto+
"<![CDATA[[Measures].[TiempoSum] / [Measures].[TiempoNum]]]>"+salto+
"</Formula>"+salto+
"</CalculatedMember>"+salto+"</Cube>"+salto+"</Schema>";
public String getSchema() {
return Schema;
}
public void setSchema(String schema) {
Schema = schema;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment