一、下载saiku
1.下载地址
官网:https://community.meteorite.bi/
2.解压后文件结构
3.ROOT和saiku
在tomcat/webapp 下有两个web应用,是与saiku相关的。
将环境变量中的CATALINA_HOME设置为这里的tomcat,
然后运行saiku-server下的start-saiku.bat
访问 localhost:8080/upload.html ,可以看到一个让你上传license的页面,如下图:
4.获取license文件
前往 https://licensing.meteorite.bi/login ,注册账号并进行登录。
创建公司,然后创建license,在下载license文件
5.上传license
前往 localhost:8080/upload.html ,将 4 中下载的license文件上传。
上传时需要的账号:admin ,admin
6.登录saiku
前往 localhost:8080 ,输入admin,admin ,即可登录saiku 系统。
二、创建数据库与数据库驱动
1.创建数据库
(1)新建一个数据库,数据库名称为:sakiu_demo(原谅我创建数据库的时候粗心把saiku打成sakiu了)。
(2)新建一个查询,运行以下sql语句,来建表和导入数据
建表和导入数据的sql语句太大上传不了,请移步:saiku安装部署资源
2.添加数据库驱动
下载相应的数据库驱动放到 saiku-server/tomcat/webapps/saiku/WEB-INF/lib 目录下
三、添加 schema
1.新建 sales_mondrian_schema.xml
(1)在 saiku-server\tomcat\webapps\saiku\WEB-INF\classes 路径下新建saiku-datasources文件夹
(2)在 saiku-datasources文件夹下新建sales_mondrian_schema.xml,文件内容如下
<Schema name="Sauce Dallas schema"> <Cube name="Sales" visible="true" description="sales cube or Sauce Dallas" cache="true" enabled="true"> <Table name="fact_sales"> </Table> <Dimension type="StandardDimension" visible="true" foreignKey="customer_id" highCardinality="false" name="customers dimension" caption="customers"> <Hierarchy name="h_region" visible="true" hasAll="true" allMemberName="All" allLevelName="all levels" primaryKey="customer_id" caption="region" description="regions hierarchy"> <Table name="dim_customers" alias="customers dimension"> </Table> <Level name="continent" visible="true" column="continent" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="continent"> </Level> <Level name="country" visible="true" column="country" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="country"> </Level> <Level name="state" visible="true" column="state" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="state"> </Level> <Level name="city" visible="true" column="city" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="city"> </Level> </Hierarchy> </Dimension> <Dimension type="StandardDimension" visible="true" foreignKey="product_code" highCardinality="false" name="product" caption="product"> <Hierarchy name="h_product" visible="true" hasAll="true" allMemberName="all products" allLevelName="all levels" primaryKey="product_code" caption="products" description="products hierarchy"> <Table name="dim_products" alias="products dimension"> </Table> <Level name="product type" visible="true" column="product_type" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="product type" description="product types"> </Level> <Level name="product code" visible="true" column="product_code" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="product code" description="product code"> </Level> </Hierarchy> </Dimension> <Dimension type="TimeDimension" visible="true" foreignKey="date_id" highCardinality="false" name="time dimension" caption="time"> <Hierarchy name="h_month" visible="true" hasAll="true" allMemberName="all years" allLevelName="all" primaryKey="date_id" caption="months hierarchy" description="months hierarchy"> <Table name="dim_time" alias="time dimension"> </Table> <Level name="year" visible="true" column="year" type="String" uniqueMembers="false" levelType="TimeYears" hideMemberIf="Never" caption="year"> </Level> <Level name="quarter" visible="true" column="quarter" type="String" uniqueMembers="false" levelType="TimeQuarters" hideMemberIf="Never" caption="quarter"> </Level> <Level name="month" visible="true" column="month_number" nameColumn="month_long_name" type="Integer" uniqueMembers="true" levelType="TimeMonths" hideMemberIf="Never" caption="month"> </Level> </Hierarchy> </Dimension> <Measure name="sales amount" column="amount" datatype="Numeric" formatString="#,### $" aggregator="sum" visible="true"> </Measure> <Measure name="quantity" column="quantity" datatype="Integer" aggregator="sum" visible="true"> </Measure> </Cube> </Schema>
2.添加 schema
按下图步骤,将sales_mondrian_schema.xml上传,Schema Name 随意取
四、配置数据源
1.配置数据源
type=OLAP
name=sakiu_demo
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/sakiu_demo;Catalog=res:saiku-datasources/sales_mondrian_schema.xml;JdbcDrivers=com.mysql.jdbc.Driver;
username=root
password=123
security.enabled=false
2.配置说明
type=OLAP : 指定一个 OLAP 引擎.没有见过非OLAP的属性值。 name : 给你的数据源命名,随意命名。 driver : 指定 Mondrian driver(将二维关系表转化为多维度表的驱动).没有见过其他的属性值。 location : 这个属性有几个部分组成,使用分号分隔。 jdbc:mondrian:Jdbc=jdbc:mysql://localhost:3306/sakiu_demo; 指定数据库对应jdbc url,需要修改主机和对应的数据库名称。这里的主机是localhost,对应数据库是sakiu_demo
Catalog=res:saiku-datasources/sales_mondrian_schema.xml 指定mondrian schema文件。res表明是文件的路径,这里是从saiku webapp目录开始;
JdbcDrivers=com.mysql.jdbc.Driver 指明java 类文件作为数据库连接驱动。
username : 连接数据库的用户名
password : 连接数据库的密码
3.pgsql
type=OLAP name=postgres driver=mondrian.olap4j.MondrianOlap4jDriver location=jdbc:mondrian:Jdbc=jdbc:postgresql://192.168.11.197:5432/postgres;Catalog=res:saiku-datasources/bgt_amount.xml;JdbcDrivers=org.postgresql.Driver; username=postgres password=postgres security.enabled=false
五、重新登录
需要登录项目,才能在新建查询选择刚刚添加的数据源对应的cube。先注销,再登录。如下图
至此就可以很方便的对数据库中数据进行多维分析了
六、参考资料
精选:
其他:
2.saiku安装