人工智能微刊商业智能BI那点事儿商业智能BI

mondrian4 kylin saiku 整合踩坑记录

2017-12-13  本文已影响19人  鬼魅魑魅

先说了版本:

Mondrian 4 、kylin2.2 、saiku 3.15

saiku 3.15

使用的xml是基于 mondrian4 的schema的xml。网上大多数文章是介绍mondrian3的schema语法的

Mondrian4 :

官方地址:

https://github.com/pentaho/mondrian > 打包出来的mondrian-8.1版本

网上很多文章的mondrian schema的xml 是基于Mondrian3 的。

mondrian 4 与mondrian3 的schema的对比:

  1. 判断是不是mondrian4:
  1. mondrian4 的schema.xml语法:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Schema SYSTEM "mondrian.dtd" >
<Schema metamodelVersion="4.0">
 <!-- Define how the DB tables are set up -->
 <PhysicalSchema>
  <!-- Specify source tables -->
  <Table/>
  <!-- Define relationships between snowflake or alias tables, not direct dim tables! -->
  <Link/>
 </PhysicalSchema>
 <!-- Create your cube definition and reference back to the physical schema -->
 <Cube>
  <!-- Define dimensions and attributes -->
  <Dimensions>
   <Dimension>
    <Attribute/>
   </Dimension>
   <Hierarchies>
    <Hierarchy>
     <Level/>
    </Hierarchy>
   </Hierarchies>
  </Dimensions>
  <!-- Define Measures -->
  <MeasureGroups>
   <MeasureGroup>
    <Measures>
     <Measure/>
    </Measures>
    <DimensionLinks>
     <ForeignKeyLink/>
     <FactLink/>
    </DimensionLinks>
   </MeasureGroup>
  </MeasureGroups>
  <!-- Define Calculated Members and Names Sets -->
  <CalculatedMembers/>
  <NamedSets/>
 </Cube>
 <!-- If you have conformed dimensions, specify them globally.-->
 <Dimension>
 <!-- Define roles below to restrict access to the cube(s). -->
 <Role>
</Schema>
  1. mondrian3 的schema.xml语法:
<Schema>
    <Cube name="Sales">
        <Table name="sales_fact_1997"/>
        <Dimension name="Gender" foreignKey="customer_id">
            <Hierarchy hasAll="true" allMemberName="All Genders" primaryKey="customer_id">
                <Table name="customer"/>
                <Level name="Gender" column="gender" uniqueMembers="true"/>
            </Hierarchy>
        </Dimension>
        <Dimension name="Time" foreignKey="time_id">
            <Hierarchy hasAll="false" primaryKey="time_id">
                <Table name="time_by_day"/>
                <Level name="Year" column="the_year" type="Numeric" uniqueMembers="true"/>
                <Level name="Quarter" column="quarter" uniqueMembers="false"/>
                <Level name="Month" column="month_of_year" type="Numeric" uniqueMembers="false"/>
            </Hierarchy>
        </Dimension>
        <Measure name="Unit Sales" column="unit_sales" aggregator="sum" formatString="#,###"/>
        <Measure name="Store Sales" column="store_sales" aggregator="sum" formatString="#,###.##"/>
        <Measure name="Store Cost" column="store_cost" aggregator="sum" formatString="#,###.00"/>
        <CalculatedMember name="Profit" dimension="Measures" formula="[Measures].[Store Sales] - [Measures].[Store Cost]">
            <CalculatedMemberProperty name="FORMAT_STRING" value="$#,##0.00"/>
        </CalculatedMember>
    </Cube>
</Schema>

官方文档:

  1. mondrian 4 官方(多了head):https://mondrian.pentaho.com/head/documentation/schema.php 注意:页面里面的左侧菜单是没有head的,可能是没有head的最新内容

百度Google搜索到的都是mondrian3版本的。

  1. mondrian 3官方:https://mondrian.pentaho.com/documentation/schema.php

参考资料

mondrian4:

  1. https://diethardsteiner.blogspot.com/2013/01/mondrian-4-get-ready.html
  2. mondrian 官方schema.xml 文档 https://mondrian.pentaho.com/head/documentation/schema.php
  3. 《Mondrian in Action》 是基于mondrian4

mondrian3

  1. mondrian 官方schema:https://mondrian.pentaho.com/documentation/schema.php
上一篇下一篇

猜你喜欢

热点阅读