如何使用另一个数据库而不是foodmart

时间:2014-02-18 11:00:36

标签: postgresql saiku

我对saiku报道不太熟悉。当我运行saiku报告foodmart db的这个显示立方体时。但我想使用postgresql中的数据库。为此我创建了一个连接文件。将driver.jar文件添加到web-inf / lib文件夹中。但我无法在立方体中看到数据库。

我们只能使用foodmart数据库?我们不能使用其他数据库?

1 个答案:

答案 0 :(得分:2)

示例数据

在PostgreSQL中创建示例数据:

create table olap_data(id serial, measure int, dim varchar);

insert into olap_data (measure, dim) select * from generate_series(1,10) cross join (values ('a'), ('b'),('c')) a;

select * from olap_data;

连接文件

添加连接文件(名称无关紧要,我正在使用dummy_test)。

目的地:/saiku-server/tomcat/webapps/saiku/WEB-INF/classes/saiku-datasources/dummy_test

内容:

type=OLAP
name=Financial
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:postgresql://localhost:5432/tgr; \
Catalog=/home/Applications/Saiku/saiku-server/tomcat/webapps/saiku/WEB-INF/classes/foodmart/dummy_cube.xml;JdbcDrivers=org.postgresql.Driver;
username=YourUsername
password=YourPassword

不要忘记设置正确的连接字符串,用户名和密码。

添加OLAP架构定义

目标:/home/Applications/Saiku/saiku-server/tomcat/webapps/saiku/WEB-INF/classes/foodmart/dummy_cube.xml(必须匹配数据源定义文件中定义的路径)。

内容:

<Schema name="New Schema1">
  <Cube name="Sample Cube" visible="true" cache="true" enabled="true">
    <Table name="olap_data" schema="public">
    </Table>
    <Dimension type="StandardDimension" visible="true" foreignKey="id" name="Sample Dimension">
      <Hierarchy name="Sample Hiearchy" visible="true" hasAll="true">
        <Table name="olap_data" schema="public">
        </Table>
        <Level name="Sample Level" visible="true" column="dim" uniqueMembers="false">
        </Level>
      </Hierarchy>
    </Dimension>
    <Measure name="Measure" column="measure" aggregator="sum" visible="true">
    </Measure>
  </Cube>
</Schema>

让它发挥作用

重启Saiku

从浏览器中清除缓存

现在您应该在Saiku enter image description here

中看到示例多维数据集