1.维度退化
维度退化是指对于简单的维度来说,不创建自己的维表,例如,下面的事实表:
product_id | time_id | payment_method | customer_id | store_id | item_count | dollars |
55 | 20040106 | Credit | 123 | 22 | 3 | $3.54 |
78 | 20040106 | Cash | 89 | 22 | 1 | $20.00 |
199 | 20040107 | ATM | 3 | 22 | 2 | $2.99 |
55 | 20040106 | Cash | 122 | 22 | 1 | $1.18 |
对于其中的维度支付方式,假设我们创建了一个维表,这个维表几乎是没有意义的。如果单独增加了这样一个维表,那么可能会导致一定的连接成本。(对于这个问题,我持有不同的看法,例如当这个维度是可被复用时,则这个维表是有意义的)
可以创建一个退化维度,声明一个不包括表的维度,mondrian会假设列来自事实表。看下面的例子:
<cube name="”Checkout”"><br><font color="#ff0000"><!-- 这里声明了事实表 --></font> <br><table name="”checkout”">
<br><dimension name="”Payment" method><br><hierarchy hasall="”true”"><br><font color="#ff0000"><!-- 这里没有声明维表 --></font> <br><level name="”Payment" method column="”payment_method”" uniquemembers="”true”/"><br></level></hierarchy><br></dimension><br>
</table>
<p>在上面的实例中,因为没有join,Dimension维度的foreignKey属性不需要设置,Hierarchy元素没有</p>
<table>子元素或primaryKey属性。 <p>2.内联表</p> <p><inlinetable>构造允许你在schema文件中定义数据集。必须声明列的名字,列的类型,以及一系列的行。作为<table>和<view>,必须提供唯一的别名指向数据集。如下面的例子: <table border="1" cellspacing="0" cellpadding="2" width="775"><tbody><tr>
<td valign="top" width="773">
<dimension name="”Severity”"><br><hierarchy hasall="”true”" primarykey="”severity_id”"><br><font color="#ff0000"><inlinetable alias="”severity”"><br></inlinetable></font> <columndefs><br><columndef name="”id”" type="”Numeric”"></columndef><br><columndef name="”desc”" type="”String”"></columndef><br></columndefs><br><rows><br><row><br><value column="”id”">1</value><br><value column="”desc”">High</value><br></row><br><row><br><value column="”id”">2</value><br><value column="”desc”">Medium</value><br></row><br><row><br><value column="”id”">2</value><br><value column="”desc”">Low</value><br></row><br></rows><br><br><level name="”Severity”" column="”id”" namecolumn="”desc”" uniquemembers="”true”/"><br></level></hierarchy><br></dimension><br>
</td> </tr></tbody></table>
<p>这和你的数据库中有下面的表是一样的效果。</p> <table border="1" cellspacing="0" cellpadding="2" width="600"><tbody>
<tr>
<td valign="top" width="300">id</td> <td valign="top" width="300">desc</td> </tr>
<tr>
<td valign="top" width="300">1</td> <td valign="top" width="300">High</td> </tr>
<tr>
<td valign="top" width="300">2</td> <td valign="top" width="300">Medium</td> </tr>
<tr>
<td valign="top" width="300">3</td> <td valign="top" width="300">Low</td> </tr>
</tbody></table>
<p>要指定某个列NULL值,对那个列忽略<value>,列的值默认为空。</value></p> <p>3.估计Level的势</p> <p><level>元素允许指定可选的参数 "approxRowCount",指定这个参数可以改善性能,通过减少需要决定的level,层次和维度的势。通过连接到XMLA的Mondrian,可能会产生较大的影响。</level></p></view>
</table></inlinetable></p>
</table></cube> |
分享到:
相关推荐
文档提到了“all”成员、时间维度、级别顺序和显示、多重层次结构、退化维度和内联表的概念。 4. MDX与Mondrian MDX(多维表达式)是用于查询和操作OLAP数据的标准查询语言。文档解释了MDX的基本概念,包括MDX的...
Mondrian是一个用Java写成的ROLAP引擎,是开源项目Pentaho的一部分。它实现了 MDX语言、XML解析、JOLAP规范。它从SQL 和其它数据源读取数据并把数据聚集在内存缓存中,然后经过Java API用多维的方式对结果进行展示,...
mondrian-4.3.0.1.2-SPARK.jar
资源分类:Python库 所属语言:Python 资源全名:mondrian-0.8.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
总的来说,"mondrian-api.zip"提供的API文档对于开发者来说是一份宝贵的资源,可以帮助他们深入理解mondrian的工作原理,以及如何利用mondrian来设计和实现高效的数据分析应用。通过学习和实践,开发者可以充分利用...
- **映射** 过程将逻辑模型中的维度和层次结构映射到实际的数据表中,确保数据的一致性和准确性。 ##### 3.6 “All”成员 - **“All”成员** 是一个特殊成员,表示维度中的所有值的汇总,常用于汇总分析。 ##### ...
- **推荐版本**:`mondrian-3.0.4.11371.zip` **2. 部署Mondrian** - **服务器环境**: - 操作系统:Windows 2000 - Web 服务器:Tomcat 5.5.20 - 关系数据库:MySQL - **新建foodmart数据库**: - 下载 `...
Mondrian是一个用Java写成的ROLAP引擎,是开源项目Pentaho的一部分。它实现了 MDX语言、XML解析、JOLAP规范。它从SQL 和其它数据源读取数据并把数据聚集在内存缓存中,然后经过Java API用多维的方式对结果进行展示,...
mondrian 是一个开源的 OLAP (在线分析处理) 引擎,它主要用于构建多维数据集和执行复杂的分析查询。本操作手册主要关注如何使用 mondrian 进行配置和优化,以便更好地理解和操作多维数据。 首先,Mondrian 配置...
mondrian和olap4j是两个在大数据分析和在线分析处理(OLAP)领域中重要的开源工具。Mondrian是一个关系型多维数据集引擎,它允许用户通过SQL查询复杂的数据集,而olap4j则是一个Java API,用于与各种OLAP服务器交互...
6. **Schema文件**:mondrian的模式文件定义了数据仓库的多维模型,包括维度、层次、度量和属性。这些文件使用XML格式编写,可以通过mondrian的XMLA接口进行访问。 7. **JavaScript接口**:mondrian的JavaScript库...
星型模式由一个事实表(如“sales_fact_1997”)和多个维度表(如“customer”和“time_by_day”)组成,它们通过外键关联。 3. Mondrian 模式文件的结构: - 在 XML 文件中,模式定义包括 Cube、Dimension、...
mondrian-3.11.jar
mondrian 模式深入理解 mondrian 模式是 OLAP(在线分析处理)系统的核心组件,主要用于构建和管理多维数据库。它允许用户通过 MDX(多维表达式)查询语言进行复杂的数据分析和报告。mondrian 模式文件是描述这种...
saiku3.x中所需的mondrian的jar包,用来支持SPARK
已编译好的mondrian-9.0.0.0-SNAPSHOT-with-KylinDialect.jar,已添加kylin支持,暂未测试是否可用。
mondrian-3.14.0.0-12,
在"mondrian-and-me"这个项目中,JavaScript可能被用来生成和操纵Mondrian风格的图形,比如随机绘制线条和矩形,以及颜色的选取和分配。开发者可能利用canvas元素,这是一个HTML5提供的画布,允许通过JavaScript进行...
mondrian-war-maven-project.zip mondrian是一款开源的多维分析引擎,主要用于在线分析处理(OLAP)和数据仓库应用。它提供了SQL接口,可以连接到各种关系数据库,支持复杂的数据查询和分析操作。在本项目中,我们...