我对saiku报告不太熟悉。当我运行 saiku 报告 foodmart db 的这个显示立方体时。但我想使用 postgresql 中的数据库。为此,我制作了一个连接文件。在 web-inf/lib 文件夹中添加了 driver.jar 文件。但我在立方体中看不到数据库。
我们只能使用foodmart数据库吗?我们不能使用另一个数据库吗?
我对saiku报告不太熟悉。当我运行 saiku 报告 foodmart db 的这个显示立方体时。但我想使用 postgresql 中的数据库。为此,我制作了一个连接文件。在 web-inf/lib 文件夹中添加了 driver.jar 文件。但我在立方体中看不到数据库。
我们只能使用foodmart数据库吗?我们不能使用另一个数据库吗?
样本数据
在 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 中看到示例立方体