一、什么是Cubes
Cubes是一个轻量级的Python框架和一套工具,用于开发报告和分析应用程序,在线分析处理(OLAP),多维分析和聚合数据的浏览(aggregated data)。主要包括几个内容:
1、工作区–多维数据集分析工作区
2、模型-数据描述(元数据):多维数据集,维度,概念层次结构,属性,标签,本地化。
3、浏览器-聚合浏览,切片和切块,下钻。
4、后端-实际的聚合实施和实用程序功能。
5、服务器-用于多维数据集的WSGI HTTP服务器。
6、格式化程序-数据格式化程序。
7、切片器-命令行工具-命令行工具。
二、Cubes主要能做什么
1、在线分析处理(OLAP) 和聚合浏览(默认后端用于关系数据库 – ROLAP)
2、多维分析
3、分析数据的逻辑视图 – 分析师如何看待数据,他们如何看待数据,而不是如何在数据存储中实际实现数据
4、层次维度(具有层次依赖性的属性,例如类别子类别或国家/地区)
5、可本地化的元数据和数据
6、多维聚合查询的 SQL 查询生成器
7、OLAP 服务器
三、各组件功能介绍
1、分析工作区
“多维数据集”中的所有内容都发生在分析工作区中。它包含多维数据集,维护与数据存储的连接(带有多维数据集数据),提供与外部多维数据集的连接等等。
工作空间属性在配置文件中指定slicer.ini(默认名称)。我们要做的第一件事是指定一个数据存储——包含多维数据集数据的数据库:
[store]
type: sql
url: sqlite:///data.sqlite
在Python中,可以使用初始化设置文件的后缀名配置:
from cubes import Workspace
workspace = Workspace(config=”slicer.ini”)
或者通过编程:
workspace = Workspace()
workspace.register_default_store(“sql”, url=”sqlite:///data.sqlite”)