关键字:

常见问题

更多>>

最受欢迎的文章

更多>>

最新文章

更多>>

文章存档

  • 2012年06月(6)
  • 2012年07月(83)
  • 2012年08月(62)
  • 2012年09月(30)
  • 2012年10月(8)
  • 2012年11月(11)
  • 2012年12月(9)
  • 2013年01月(7)
  • 2013年02月(1)
  • 2013年03月(1)
  • 2013年04月(1)
  • 2013年05月(2)
  • 2013年06月(1)
  • 2013年07月(2)
  • 2013年08月(4)
  • 2013年09月(4)
  • 2013年10月(3)
  • 2013年11月(2)
  • 2013年12月(1)
  • 2014年01月(1)
  • 2014年03月(1)
  • 2015年06月(2)
  • 2015年10月(1)
  • 2015年11月(9)
  • 2015年12月(2)
  • 2016年02月(1)
  • 2016年04月(1)
  • 2016年05月(16)
  • 2016年07月(4)

热门Tag标签

FastReport.Net v2016.6 FastScript安装 安装 VCL mvc FastReport.Net 报表 FastReport.Net v2016.2 TeeChart,图表开发 FastReport FMX 2.3 FastReport.Net v2016.1 FastReport.Net更新 FastCube VCL v2.5 FastReport VCL FastReport Online Designer教程 FastReport Online Designer组件 FastReport在线报表设计器:组件简介 FastReport在线报表设计器:界面结构简介 FastReport在线报表设计器:工作原理 FastReport Online Designer简介 FastReport Online Designer促销 FastReport Online Designer FastReport.Net授权促销 数据库查询构建 使用技巧 fastreport,报表 脚本引擎 FastScript FastScript, 脚本引擎  OLAP控件 

如何利用FastCube进行多维数据分析?

作者:zhuhm    来源:FastReport中文网    浏览:Loading...      日期:2012-08-06

“扁平化”数据库表的数据汇总是信息系统开发人员和用户面临的首要任务之一。同时,它通常难以预测用户在数据选择标准(过滤器),数据维度(片)和汇总字段列表方面的需求。有时候为每个用户开发新的AQL查询和报表会花费大量的人力和时间,而这些人力和时间要是能花在开发信息系统上面可能会更好。问题是如何在不需要开发人员帮助的情况下,用户可以自己创建pivot reports透视报表。

FastReports产品线中的FastCube组件可以很好地解决这个问题。将数据源链接到FastCube透视表中,我们会得到一个能够进行维度,过滤器计量管理的工具。

下面的例子展示了如何简单快速地创建允许用户建立数据表的应用程序。

首先,我们以含有 "sales"表的 "salesdb.mdb" 数据库为例,该销售表中包含了该零售公司的所有销售数据。表中所包含的字段如下:

  • Customer - 顾客
  • Date - 销售日期
  • Manager - 主管人员
  • Product - 产品类型
  • Amount - 数目
  • Balance - 客户余额
  • Cost - 销售成本
  • Paid - 付款金额

下图是2006年该零售公司的销售数据:

 FastCube,数据分析工具,OLAP

接下来就开始应用开发:

创建一个新的应用程序,并添加一个TPanel Panel1的主窗体中。该面板中包含所需按钮。设置面板与底边对齐(Panel1.Align:= alBottom)。

我们将使用ADO连接来访问数据库-在默认情况下,这些组件包含在Delphi (dbGo组件集)。不过,要是你愿意你可以选择任何其他数据访问引擎。向窗体中添加一个数据库连接组件(ADOConnection1:TADOConnection)和表访问控件(ADOTable1: TADOTable) ,并将它们与 "Salesdb.mdb" 数据库的 "Sales" 表连接起来。设置ADOConnection1.LoginPrompt = False,跳过数据库登录对话框连接。

返回到FastCube组件,首先我们需要下来3个组件:

fcCube1: TfcCube ---用于数据加载和安排,并将数据储存在内存中。
fcSlice1: TfcSlice---用于过滤和储存数据库透视表结构。
fcGrid1: TfcGrid---可视化数据透视表,并允许用户管理结构和过滤器。

将上面的3个组件添加到窗体中:

将fcCube1连接到数据源:fcCube1.DataSet := ADOTable1

将fcSlice1与fcCube1连接起来:fcSlice1.Cube := fcCube1

将fcGrid1与fcSlice1连接起来:fcGrid1. Slice = fcSlice1

设置fcGrid.Align = alClient:

FastCube,数据分析工具,OLAP

现在我们需要添加一行代码,启动数据加载和激活数据透视表,

procedure Tfm_Article1.FormCreate (Sender: TObject);
begin
fcGrid1.Open;
end;

运行应用程序,并建立一个数据透视表。建立好后,我们会看见一个空的数据表,你需要对表进行定制使其显示为我们所需的形式。要做到这一点,我们需要在行,列,过滤器中放置域,并创建度量值。

FastCube,数据分析工具,OLAP

打开下拉列表“字段列表”。请注意,列表中包含字段“Day_Date”,“Day_of_week_Date”和其他人在“销售”表没有列出的字段。这些字段被用于自动创建“日期”字段,我们可以用他们来创建日期部分和过滤器部分的片。

FastCube,数据分析工具,OLAP 

假设我们要找出月销售总额(注意,数据源中的数据表只是2006年的数据)。拖动“Month_Date”到行区域, "Cost"字段到数据区域,过滤器中的"Measures" 字段到列区域。我们便会得到所需数据,如下图:

 FastCube,数据分析工具,OLAP

若要讲数据表变得复杂一点,你可以添加有兴趣的字段,如主管人员,以统计每一个月每个主管人员的销售金额。将"Manager" 字段拖动到列区域。注意,"Manager" 放在 "Measures" 字段的前面和后面都可以。

FastCube,数据分析工具,OLAP

如果要创建每个销售季度的报表呢?拖动“Quarter_Date”到行,将该字段放置到"Month_Date" 字段前。

 FastCube,数据分析工具,OLAP

如果我们不需要按月排列的信息,我们可以将 "Month_Date"字段拖动到过滤器区域,或者将其拖动到"Field List"中完全删除。或者我们可以想象钻取维度“Quarter_Date”。

FastCube,数据分析工具,OLAP

选中 "Plastic Box":

FastCube,数据分析工具,OLAP

在数据透视表的数据发生了变化。现在有只塑料盒的销售数据:

 FastCube,数据分析工具,OLAP

在FastCube透视表中即使只进行了一个简单的操作,都会根据不同的设置标准而生成不同的结果,而又不需要开发人员的帮助。如果有需要的话, FastCube还可以允许你保存透视图中预先存在的结构,并在需要的时候加载它们。因此用户可以立即得到所需的数据透视表,无需任何拖动或者过滤.

 

Tag标签:FastCube 

上一篇: FastReport FMX for Apple MacOS示例下载

下一篇: 如何利用fastreport创建一个复杂表头报表?


下载试用 | 技术指南 | 常见问题 | 联系方式 | 法律顾问:欣力律师事务所

慧都科技旗下网站-FastReport中文网版权所有 Copyright 2012

FastReport,报表控件,FastReport报表,VCL报表,.NET报表,COM/ActiveX报表,OLAP控件,联机分析处理