<?xml version="1.0" encoding="gb2312"?>

<!-- RSS generated by oioj.net on 4/16/2004 ; 感谢LeXRus提供 RSS 2.0 文档; 此文件可自由使用，但请保留此行信息 --> 
<!-- Source download URL: http://blogger.org.cn/blog/rss2.asp       -->
<rss version="2.0">

<channel>
<title>Java报表软件</title>
<link>http://blogger.org.cn/blog/blog.asp?name=waves</link>
<description>FineReport——报表技术领跑者的博客</description>
<copyright>blogger.org.cn</copyright>
<generator>W3CHINA Blog</generator>
<webMaster>webmaster@blogger.org.cn</webMaster>
<item>
<title><![CDATA[如何对报表的参数控件赋值]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73380</link>
<author>waves</author>
<pubDate>2015/8/10 11:16:08</pubDate>
<description><![CDATA[应用场景
在用FineReport制作的报表中，在参数界面，往往需要在一个控件中动态的控制其他控件的值，如下图，当username有值时，state自动变为1，否则变为2:：

解决方案
可以通过js脚本获取到需要的控件，从而获得控件的值，及给控件赋值。
示例

我们利用FineReport制作一个简单的例子实现上图效果。
1、参数界面

如下图参数界面

username控件类型为下拉框，数据自定义，实际值和显示值都为：jerny，anna，merry。
state控件类型选择单选按钮组，数据也为自定义，实际值和显示值都为：1，2。
2 、JS事件设置

在username的事件编辑中添加编辑后事件，JS代码如下：
1.     var state= this.options.form.getWidgetByName(&quot;state&quot;);  
2.     var username = this.options.form.getWidgetByName(&quot;username&quot;).getValue();  
3.     if (!username){  
4.     state.setValue(2);  
5.     }else{  
6.     state.setValue(1);  
7.     }  
该段代码是用来对state参数置数，当username为空时，!username为真，此时将state置数为2,否则当username有值时，将state置数为1。
 


]]></description>
</item><item>
<title><![CDATA[java报表工具FineReport常见的数据集报错错误代码和解释]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73375</link>
<author>waves</author>
<pubDate>2015/7/15 15:15:07</pubDate>
<description><![CDATA[在使用finereport制作报表，若预览发生错误，很多朋友便手忙脚乱不知所措了，其实没什么，只要看懂报错代码和含义，可以很快的排除错误，这里我就分享一下finereport的数据集报错错误代码和解释，如果有说的不准确的地方，也请各位小伙伴纠正一下。
&#160;
NS-war-remote=错误代码\:1117 压缩部署不支持远程设计

NS_LayerReport_MultiDs=错误代码\:1101 行式引擎不支持多数据源展示

NS_LayerReport_RowCol=错误代码\:1102 行式引擎不支持条件属性修改行高列宽

NS_LayerReport_adFormula=错误代码\:1106 行式引擎不支持层次坐标

NS_LayerReport_columns=错误代码\:1107 行式引擎不支持分栏

NS_LayerReport_expandAttr=错误代码\:1104 行式引擎只支持从上到下扩展属性，其它属性设置均不支持

NS_LayerReport_float=错误代码\:1105 行式引擎不支持悬浮元素

NS_LayerReport_present=错误代码\:1103 行式引擎不支持形态

NS_LayerReport_sheets=错误代码\:1108 行式引擎不支持Sheet间运算

NS_LayerReport_subreport=错误代码\:1109 行式引擎不支持子报表

NS_browser_lang=错误代码\:1119 未找到当前浏览器语言对应的国际化文件,将以中文作为默认语言

NS_cell_formula=错误代码\:1203 错误的公式参数

NS_excel_poi=错误代码\:1207 导入Excel2007需要在lib目录下放置poi包

NS_exception_deathCircle=错误代码\:1303 单元格计算死循环

NS_exception_noTemplate=错误代码\:1304 没有找到模板文件

NS_exception_ps=错误代码\:1302 行高列宽超出页面大小设置

NS_exception_readError=错误代码\:1305 模板文件解析出错

NS_exception_readExcelError=错误代码\:1306 文件解析出错

NS_exception_td=错误代码\:1301 数据集配置错误

NS_export_2007=错误代码\:1122 导出Excel2007需要jdk版本1.5以上

NS_export_excelCellBg=错误代码\:1112 导出Excel单元格背景只支持纯色

NS_export_excelFormula=错误代码\:1110 导出Exel不支持该公式

NS_export_excelHtml=错误代码\:1111 导出Excel不支持Html中部分标签

NS_export_wordPageSize=错误代码\:1114 导出Word不支持多Sheet下的不同页面设置

NS_mail_config=错误代码\:1204 邮件配置参数不正确

NS_print_flashPaperSetting=错误代码\:1118 Flash打印不支持将页面设置传递给打印机

NS_print_noApplet=错误代码\:1202 当前工程目录下未发现Applet包

NS_print_pdf=错误代码\:1121 PDF打印只支持IE内核浏览器,其他浏览器将导出PDF文件

NS_print_plugin=错误代码\:1201 当前浏览器未安装打印所需插件

NS_register_ipFull=错误代码\:1115 系统并发数已满

NS_register_lic=错误代码\:1206 当前配置目录下未发现注册文件

NS_register_sense=错误代码\:1205 加密狗读取失败]]></description>
</item><item>
<title><![CDATA[报表怎么做 FineReport连接池原理]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73365</link>
<author>waves</author>
<pubDate>2015/5/18 10:19:47</pubDate>
<description><![CDATA[报表怎么做 FineReport连接池原理
连接池主要由三部分组成：连接池的建立、连接池中连接使用的治理、连接池的关闭。下面就着重讨论这三部分及连接池的配置问题。
1. 连接池原理
连接池技术的核心思想，是连接复用，通过建立一个数据库连接池以及一套连接使用、分配、治理策略，使得该连接池中的连接可以得到高效、安全的复用，避免了数据库连接频繁建立、关闭的开销。
另外，由于对JDBC中的原始连接进行了封装，从而方便了数据库应用对于连接的使用（特别是对于事务处理），提高了开发效率，也正是因为这个封装层的存在，隔离了应用的本身的处理逻辑和具体数据库访问逻辑，使应用本身的复用成为可能。
1.1 连接池的建立
应用程序中建立的连接池其实是一个静态的。所谓静态连接池是指连接池中的连接在系统初始化时就已分配好，且不能随意关闭连接。Java中提供了很多容器类可以方便的构建连接池，如：Vector、Stack、Servlet、Bean等，通过读取连接属性文件Connections.properties与数据库实例建立连接。在系统初始化时，根据相应的配置创建连接并放置在连接池中，以便需要使用时能从连接池中获取，这样就可以避免连接随意的建立、关闭造成的开销。
1.2 连接池的治理
连接池治理策略是连接池机制的核心。当连接池建立后，如何对连接池中的连接进行治理，解决好连接池内连接的分配和释放，对系统的性能有很大的影响。连接的合理分配、释放可提高连接的复用，降低了系统建立新连接的开销，同时也加速了用户的访问速度。下面介绍连接池中连接的分配、释放策略。
连接池的分配、释放策略对于有效复用连接非常重要，我们采用的方法是一个很有名的设计模式：Reference Counting（引用记数）。该模式在复用资源方面应用的非常广泛，把该方法运用到对于连接的分配释放上，为每一个数据库连接，保留一个引用记数，用来记录该连接的使用者的个数。
1.3 连接池的关闭
当应用程序退出时，应关闭连接池，此时应把在连接池建立时向数据库申请的连接对象统一归还给数据库（即关闭所有数据库连接），这与连接池的建立正好是一个相反过程。
连接池分配一个连接后如定义一个数据集，点击预览，执行完对应的sql语句会将所占用的连接归还连接池。
2. 连接池的配置
数据库连接池中到底要放置多少个连接，才能使系统的性能更佳，用minConn和maxConn来限制。
minConn是当应用启动的时候连接池所创建的连接数，假如过大启动将变慢，但是启动后响应更快；假如过小启动加快，但是最初使用的用户将因为连接池中没有足够的连接不可避免的延缓了执行速度。因此应该在开发的过程中设定较小minConn，而在实际应用的中设定较大minConn。maxConn是连接池中的最大连接数，可以通过反复试验来确定此饱和点。
为此在连接池类ConnectionPool中加入两个方法getActiveSize（）和getOpenSize（），ActiveSize 表示某一时间有多少连接正被使用，OpenSize表示连接池中有多少连接被打开，反映了连接池使用的峰值。将这两个值在日志信息中反应出来， minConn的值应该小于平均ActiveSize，而maxConn的值应该在activeSize和OpenSize之间。]]></description>
</item><item>
<title><![CDATA[报表怎么做FineReport数据连接之游标]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73364</link>
<author>waves</author>
<pubDate>2015/5/11 17:35:32</pubDate>
<description><![CDATA[<a href="http://www.finereport.com/knowledge/design
" target="_blank">报表怎么做</a>FineReport数据连接之游标

1. 概念
在数据库中， 游标是一个十分重要的概念。游标是一种能从包括多条数据记录的结果集中，每次提取一条记录的机制。
用SQL语言从数据库中检索数据后，结果放在内存的一块区域中，往往是一个含有多个记录的集合。游标机制允许用户在此结果集内逐行访问每条记录，并按照用户自己的意愿来显示和处理这些记录。
2. 标准写法（以oracle为例）
declare
ursor mycur is select *from books;----定义游标
myrecord books%rowtype; ----%rowtype表示行数据类型，myrecord存储books中的一行数据
begin
open mycur;
fetch mycur into myrecord; ----存入一行数据至myrecord
while mycur%found loop ----%found布尔型，如果有行返回，则为true
dbms_output.put_line(myrecord.books_id||','||myrecord.books_name); ---输出信息
fetch mycur into myrecord; ----存入下一行
end loop;
close mycur;---关闭游标
end;
/
说明：
使用游标逐行访问查询books表获得的结果集，输出每条记录中的bookid与bookname。从该例子可以看出，游标包含两方面的内容：
游标结果集：执行其中的Select语句所得到的结果集。
游标位置：一个指向游标结果集内的某一条记录的指针。
利用游标可以单独操纵结果集中的每一行。游标在定义以后存在两种状态：关闭和打开。当游标关闭时，其查询结果集不存在；只有当游标打开时，才能按行读取或修改结果集中的数据。一般使用完后不写close mycur也不会出现编译错误。
3. 游标的优点
允许程序对由查询语句select返回的行集合中的每一行执行相同或不同的操作，而不是对整个行集合执行同一个操作；
它还提供对基于游标位置而对表中数据进行删除或更新的能力；
游标作为面向集合的数据库管理系统和面向行的程序设计两者联系起来，使两个数据处理方式能够进行沟通。
上面章节，我们对游标的内容有了些详细的了解。但在使用游标时，往往会出现些问题。下面就打开的游标太多时，出现的一些问题作介绍。
4. 常见报错
如：在Oracle数据库中，会报如下信息：
Caused by: ORA-01000: 超出打开游标的最大数
Oracle系统中，以参数open_cursors来限制打开的游标数，当打开游标超过这个数的时候就会报这个错，提示超出打开游标的最大数。游标个数理论上没有上限，也不是越大越好。
有这样一个测试显示：当这个open_cursor数值大了一定程度之后，会使得内存缩水，缩水的表现就是连接数减少。
如上结论可具体测试，其测试结果如下：
分别设置为以下值，测试数据库的连接，在同样的内存配置下，与用户可以连接的数(独占模式)有很大的区别。
open_cursors=6000000000 -------------连接数45
open_cursors=300 ---------------------连接数超过500.
由以上测试可知，当open_cursors扩大2000万倍之后连接数变为原来的十分之一，因此open_cursors的大小对连接数的影响不大，只要不要在千万级上增加，一般的几千几万跟几十，对连接数的影响甚微。
4.1 解决方案
按照游标的正规写法，打开游标使用完之后，就需关闭游标。
应避免游标打开过大，其可通过修改open_cursors大小，使其尽可能大。
4.2 检查open_cursors数值及修改方法
SQL>show parameter open_cursors; ---显示参数值
SQL>alter system set open_cursors = 1000; ---修改参数值为1000
SQL>commit;----提交
修改成功。]]></description>
</item><item>
<title><![CDATA[报表模板之报表设计]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73361</link>
<author>waves</author>
<pubDate>2015/4/27 14:06:14</pubDate>
<description><![CDATA[工具/原料
报表模板：FineReport7.1.1  http://www.finereport.com/
大小：148.2M 适用平台：windows/linux1. 描述
在讲述报表设计之前，我们首先介绍一下FineReport报表制作的几个基本概念，本章节介绍FineReport报表赖以生存的单元格扩展。
扩展，顾名思义，就是由一变多，那么单元格扩展就是指在web端查看模板效果的时候，原来的单元格由一个变成了多个，这就是单元格扩展，如下图：

2. 单元格扩展
大家对Excel应该都不陌生，用过Excel的人都知道，其单元格只有2个方向，横向和纵向，而FineReport恰恰是一款类Excel的报表工具，其单元格也一样，因此，FineReport报表中单元格的扩展是有方向的，可纵向扩展，也可横向扩展，当然也可以不扩展。
2.1 纵向扩展
单元格中的数据依次从上至下的显示，即纵向扩展（行方向的扩展，一行变多行），如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中选择扩展方向为纵向：

2.2 横向扩展
单元格中的数据依次从左至右的显示，即横向扩展（列方向的扩展，一列变多列），如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中选择扩展方向为横向：

2.3 不扩展
单元格中的数据不扩展，如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中使用默认的扩展方向不扩展：

注：如果单元格中内容是公式则默认扩展方向为不扩展，如果是数据集中的数据列，则默认扩展方向为纵向扩展。]]></description>
</item><item>
<title><![CDATA[报表模板之报表设计]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73360</link>
<author>waves</author>
<pubDate>2015/4/27 14:06:14</pubDate>
<description><![CDATA[工具/原料
报表模板：FineReport7.1.1  http://www.finereport.com/
大小：148.2M 适用平台：windows/linux1. 描述
在讲述报表设计之前，我们首先介绍一下FineReport报表制作的几个基本概念，本章节介绍FineReport报表赖以生存的单元格扩展。
扩展，顾名思义，就是由一变多，那么单元格扩展就是指在web端查看模板效果的时候，原来的单元格由一个变成了多个，这就是单元格扩展，如下图：

2. 单元格扩展
大家对Excel应该都不陌生，用过Excel的人都知道，其单元格只有2个方向，横向和纵向，而FineReport恰恰是一款类Excel的报表工具，其单元格也一样，因此，FineReport报表中单元格的扩展是有方向的，可纵向扩展，也可横向扩展，当然也可以不扩展。
2.1 纵向扩展
单元格中的数据依次从上至下的显示，即纵向扩展（行方向的扩展，一行变多行），如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中选择扩展方向为纵向：

2.2 横向扩展
单元格中的数据依次从左至右的显示，即横向扩展（列方向的扩展，一列变多列），如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中选择扩展方向为横向：

2.3 不扩展
单元格中的数据不扩展，如下图，在单元格中输入公式rang(5)，在右侧的单元格属性表-扩展属性中使用默认的扩展方向不扩展：

注：如果单元格中内容是公式则默认扩展方向为不扩展，如果是数据集中的数据列，则默认扩展方向为纵向扩展。]]></description>
</item><item>
<title><![CDATA[html表格制作软件]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73359</link>
<author>waves</author>
<pubDate>2015/4/27 11:38:39</pubDate>
<description><![CDATA[1. 描述
圆环图类似于饼图，显示个体与整体之间的关系，可以直观了解个体部分所占整体部分的百分比，但是不同于饼图的是，圆环图可以包含多个分类，即多层圆环图，可以从圆环的径向上去比较不同分类下同一系列的数据的变化趋势。
2. 示例
下面我们制作一张圆环图图表，显示各个地区产品的销量情况，在查看每个地区产品销量所在份额的同时，对比同一个产品在不同地区的销量差异情况。
2.1 数据准备
新建数据集ds1：SELECT * FROM [销量]
2.2 圆环图
在报表主体合并一片单元格，插入图表，图表类型选择圆环图，如下图：

插入图表之后，点击图表属性表-数据，为该图表绑定数据，如下图：

2.3 系列样式设置
点击图表属性表-样式>系列，对圆环图的内径大小、系列间隔和分类间隔进行设置，如下图：

2.4 效果查看
保存模板，点击分页预览，可以如下图所示效果：

注：圆环图不支持不同分类下不同系列的展示。
已完成模板请参照%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\doughnut.cpt
模板效果在线查看请点击doughnut.cpthttp://www.finereport.com/knowledge/chart]]></description>
</item><item>
<title><![CDATA[html表格制作软件制作气泡图]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73355</link>
<author>waves</author>
<pubDate>2015/4/23 9:38:32</pubDate>
<description><![CDATA[1. 概述
气泡图，是散点图的变体，不同的是，散点图使用的是成组的X、Y值（二维），而气泡图使用的是成组的X、Y、Z值（三维），其Z值确定气泡的大小。
如下气泡图来监视各调味品的单价、成本与库存订购量差：

2. 示例
2.1 数据准备
新建工作薄，添加数据集ds1，SQL语句为select 产品名称,成本价,单价,(库存量-订购量) as 库存订购量差 from 产品 where 类别ID = 2；
查询出各调味品的成本、单价、库存量与订购量的差，来制作一张气泡图监控调味品这三个维度的值，其中库存量与订购量的差确定气泡大小。
2.2 插入图表
以悬浮图表为例，点击插入>悬浮元素>插入图表，选择气泡图，点击确定。
2.3 图表数据设置
图表数据来源于数据集数据，气泡图固定有3个系列，分别表示x轴、y轴与气泡的大小，如下图：

点击完成，分页预览效果如下：

可以看到，默认的气泡图不美观，看不出每个气泡代表什么，有的气泡太小看不清楚等等。我们可以调整气泡的系列样式，来实现一张精美的气泡图。
2.4 气泡图系列设置
选中气泡图，点击图表属性表-样式>系列，如下图：

大小表示
即气泡图大小表示的意思，分为两种，面积或者宽度，计算单位为像素。
原理是设置将气泡大小缩放为如50，则整个气泡图中最大的气泡半径为50像素，然后根据选择的大小比较方式如选择气泡面积，则按照气泡的面积比例调整其他气泡的大小。
显示
显示负气泡：若系列3（z轴）有负值的话，勾选此选项负气泡会显示成为灰色，若不勾选此选项则负气泡不会显示，如上面效果图中所示辣椒粉，番茄酱和肉松都是灰色的，即负值。
其他系列设置
其他系列设置与其他图表设置相同，如显示标签、添加警戒线等。
2.5 保存与预览
保存模板，点击分页预览即可查看效果。模板效果在线查看请点击Bubble.cpt
已完整模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Bubble.cpt。http://www.finereport.com/knowledge/chart]]></description>
</item><item>
<title><![CDATA[图表控件绘制甘特图]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73350</link>
<author>waves</author>
<pubDate>2015/4/15 15:19:58</pubDate>
<description><![CDATA[1. 问题描述
甘特图支持多项目甘特图。如下图，可以直观地查看每个项目的进展状况并对多个项目进行对比：

以下介绍其多项目甘特图的制作方法。
2. 示例
2.1 添加数据
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\GanttChart.cpt。
在ds1内置数据集中，添加一个项目的数据，如下图：

2.2 模板修改
在原模板基础上，拖入项目数据列，从左到右扩展，如下：

注：每个步骤的时间必须是纵向排列，活动必须为横向排列，即上面的表格必须保持一样的展现方式。
2.3 图表数据源设置
选中图表，点击图表属性表-数据，设置如下：

注：如果甘特图使用单元格数据集，那么其数据配置如下图：

这里使用数据集数据源。 http://www.finereport.com/knowledge/chart]]></description>
</item><item>
<title><![CDATA[报表分析工具制作双轴图]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73349</link>
<author>waves</author>
<pubDate>2015/4/13 11:07:29</pubDate>
<description><![CDATA[工具/原料

报表分析工具:FineReport   www.finereport.com
大小：148.2M 适用平台：windows/linux
1. 问题描述
多种图表类型，可在一张图表混合显示。如图表中既存在柱形图，又有折线图或面积图，且各图表类型的纵坐标轴可设置在左或右，实现混合图表。如下图效果：
，
2. 示例
2.1 准备数据
新建工作薄，添加数据集，SQL语句为SELECT 产品名称, 库存量, 订购量, 再订购量 FROM [产品] where 类别ID = 1，选出饮料类各产品的库存量、订购量与再订购量作为图表数据来源。
2.2 插入图表
以悬浮图表为例，点击插入>悬浮元素>插入图表，弹出图表向导对话框，选择组合图，点击确定。
2.3 设置图表数据
图表数据来源于数据集数据，设置如下：

此时分页预览，可以看到默认第二个系列为折线图且使用右侧坐标轴，其余系列都是柱状图，使用左侧坐标轴：

2.4 设置双轴属性-条件显示设置
而我们需要同类的订购量与再订购量使用柱形图且使用左侧坐标轴，而与他们比较的库存量使用折线图且使用右侧坐标轴。
选中图表，点击图表属性表-特效>条件显示，点击左边第一个条件，可以看到默认设置好了系列1（库存量）的样式为柱形图、使用主坐标轴（左侧坐标轴），修改其系列样式为折线图，坐标轴选择次坐标轴，标记类型修改为实心，如下图：

按照同样的方法，修改条件显示的第二个，设置系列2（再订购量）的样式为柱形图，使用主坐标轴；
再添加一个条件显示，设置系列3（库存量）的样式为柱形图，使用主坐标轴（右侧坐标轴）；
更多系列按照同样的方法设置即可。
注：系列序号是按照设置图表数据时的系列顺序来编号的。
2.5 保存与预览
保存模板，点击分页预览，效果即如上。模板效果在线查看请点击DoubleFigure.cpt
已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\DoubleFigure.cpt。]]></description>
</item><item>
<title><![CDATA[web表格控件FineReport教程之父子格设置]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73347</link>
<author>waves</author>
<pubDate>2015/4/9 14:06:38</pubDate>
<description><![CDATA[下面通过web表格控件FineReport来简单介绍一下。

工具/原料
web表格控件：www.finereport.com
大小：148.2M 适用平台：windows/linux
1. 描述
在上一节中介绍了单元格的扩展，单元格的扩展是针对具体的某一个单元格，当报表主体中绑定了多个单元格时，单元格与单元格之间是否存在联系，其扩展方向是否会相互影响呢？
如下图，在单元格中拖曳两个2个字段，在web端预览的时候，可以看到后面的单元格根据前面的单元格数据进行分组显示：

表明当报表主体中绑定了多个单元格的时候，单元格间会天然存在某种关系，使单元格间存在数据过滤关系，并且跟随扩展，这就是父子格，前面的单元格称之为父格，后面的单元格称之为子格，也就是说子格的数据会根据父格的数据进行过滤分组显示，并且还会跟随父格的扩展方向而扩展，下面我们来详细介绍一下父子格。
2. 父子格关系
子格的扩展属性会随着父格的扩展属性变化，当单元格左侧或上方相邻的单元格具有扩展属性时，单元格默认其左侧相邻单元格为其左父格，默认上方相邻的单元格为其上父格。
父子格关系包括两种：过滤关系和跟随关系。
过滤关系
过滤关系是指子格会默认将父格的数据作为过滤条件进行过滤，使父子格之间的数据能对应的显示出来，但是这个默认的过滤关系只限于两个单元格中的字段来自于同一个数据集，如上图，两个单元格中数据来自于同一个数据集，故华东地区单元格后面跟对华东地区的销售员，华北地区跟随华北地区的销售员，而不同数据集中的两个字段，子格会将跟随父格将所有数据重复显示，如下图，B2单元格相邻的单元格为A2，在其左侧，故A2为B2的左父格：

注：过滤关系除了可以通过父子格默认添加之外，还可手动添加，后面章节再详述。
跟随关系
跟随关系就是指子格会默认跟随父格的扩展方向进行分组，即父格纵向扩展，子格跟随父格默认纵向扩展，如上图，地区单元格A2纵向扩展，子格B2也纵向跟随扩展，父格横向扩展，子格会跟随父格横向扩展分组，同时保持自己的数据使用默认的纵向扩展，如下图，A3相邻单元格为A2，且在其上方，故A2是A3的上父格：

注：单元格中数据如果是数据集中的字段，不是公式，那么其默认扩展方向均为纵向扩展，但是会根据父格的不同而进行不同方向的分组。
3. 父子格分类
父子格包括左父格和上父格两种。
左父格
左父格是指跟随父格单元格纵向扩展，即表示其父格是纵向扩展，一般来说，左父格均在单元格的左侧，单元格将其相邻的左侧纵向单元格默认为左父格，并且当鼠标选中子单元格时，左父格会显示一个蓝色向下的箭头，如下图：

上父格
左父格是指跟随父格单元格横向扩展，即表示其父格是横向扩展，一般来说，左父格均在单元格的上方，单元格将其相邻的上方横向扩展单元格默认为上父格，并且当鼠标选中子单元格时，上父格会显示一个蓝色向右的箭头，如下图：

4. 父子格设置
父格的设置有3种：不设置，默认设置和自定义设置，如下图所示：

自定义设置
自定义设置就是指可以自己为指定单元格设置父格，可直接输入单元格或者快速选择，如下图所示：

默认设置
默认就是指将数据列拖拽至单元格中时，该单元格会默认将其相邻上方横向扩展或者左侧纵向扩展的单元格当做上父格或者左父格。
注：必须是相邻的同行或者同列单元格，不是相邻的需要自定义设置。
另：其单元格的左侧相邻单元格不具有扩展属性时，会依次向左或向上寻找具有扩展属性的单元格，来确定它的父格。
无
无就是指该单元格没有父格，如下图：
]]></description>
</item><item>
<title><![CDATA[企业管理中软件的应用和发展]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73339</link>
<author>waves</author>
<pubDate>2015/3/16 15:27:39</pubDate>
<description><![CDATA[在很多企业当中，软件的应用是非常普遍的，尤其是一些中大型的企业更是离不开软件。这些软件保证了企业高效的运行，也给企业运作带来诸多的便利，比如图表制作软件，用来查看企业的报表，方便企业管理人员更好的掌握企业信息，进而对企业决策提供更准确的依据。除此之外，企业所用的包括图表制作软件在内的软件对企业还有三大作用：
固化工作流程
在传统企业当中，记录工作内容都非常麻烦，这也给日后的清算业务带来诸多的不便，但是有了软件之后就不同了。比如图表制作软件，这种软件会把工作的流程固定下来，员工只需要根据软件中提到的数据进行填写，之后生成报表就可以了。这种规范化的操作不仅能够有效的解决企业运行弊端，同时还能够让企业管理更加轻松。
高速处理，让工作效率更高
软件处理的速度是非常快的，而且是客观的，不带人为感情，这就给企业提供了非常强大的支持，同时对于财务人员来说，无论是FineReport这样的图表制作软件还是其他的软件，都能帮助他们解决日常工作中的一些难题，将财务的工作简单化。
管理层管理更加轻松
传统的方式虽然也能够让管理层了解企业运行的状态，但是往往需要花费很长的时间，有时候因为一些数据的问题或者是人为情绪的问题，可能还会出现很多误解，但是有了图表制作软件之类的软件之后就不一样了。
这些软件以最客观的方式将企业运营过程中的数据展示出来，包括企业管理人员想要知道的任何数据。此外，对企业发展最重要的是，图表制作软件所展示的数据都是非常客观 、精确的，基本不会出现错误，这样企业在决策的时候也会多几分胜算，自然能走在竞争对手的前列。
通过以上的描述可以看出，报表软件对企业来说是非常重要的。如今，在市场中有很多报表软件，各种各样的软件，各式各样的宣传让很多企业不知道该如何选择。对此，笔者愿意为大家推荐一个非常好用的软件，即FineReport。
据了解，FineReport图表制作软件是帆软软件公司自主研发的新产品，不仅采用的是最新的理念和最好的程序，同时还具有专业、简捷的特性。该软件能够将中国的报表简单化，让中国企业的老板更清晰明白的了解自己企业财务的情况，因此成为很多企业的首选。如今，已经有至少五十万的人每天都在使用，由此可见其作用确实很大。]]></description>
</item><item>
<title><![CDATA[商业智能系统的应用]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73321</link>
<author>waves</author>
<pubDate>2015/1/12 15:44:02</pubDate>
<description><![CDATA[随着人民群众消费水平的不断提高社会上的商品也越来越丰富，产品的层次也在逐步提高。我国的一些企业也逐渐趋向于多元化、人文化、专业化、规范化、国际化的方向而发展，这种新的发展趋势不仅为生产商和供货商提供了新的市场机遇和挑战，而且使得企业的社会主导作用日益凸现，竞争也越来越激烈。现如今企业得管理主要是采用现代化信息技术，对数据进行信息化的管理，这也是商业现代化进程的必然结果。但是一直困扰着企业高层领导的一个重要问题是如何从积累在信息系统中的大量数据中提取出有价值的信息。<br><br><br>&nbsp;&nbsp;&nbsp; 一、商业智能系统的基本概念以及发展现状<br><br><br>&nbsp;&nbsp;&nbsp; （一）智能系统的基本概念<br><br><br>&nbsp;&nbsp; 商业智能系统的的关键是从自不同地方的数据中提取出对企业有用的数据并切对那些无用的数据进行清理，保证所提取数据的正确性，然后经过ETL过程，合并到一个企业级的数据仓库里，以便得到企业数据的一个全局视图，并且在此基础上充分利用适合的查询和分析工具对其进行分析和处理，最后把所处理之后的知识里现在企业管理者的面前，为企业管理者做出决策的过程提供参考和支持。所以说，从实用技术角度来看，商业智能系统只是一个数据仓库或者联机分析处理和处理的工具。<br><br><br>&nbsp;&nbsp;&nbsp; （二）商业智能的发展发现状<br><br><br>&nbsp;&nbsp;&nbsp; 在现今社会，商业智能系统通常被理解为一个可以把企业中的数据转变成知识、帮助企业做出英明决策的一个有效工具。与几年前的研究成果相比较，商业智能系统无论是在数据范围、知识转化方式还是在技术工具上，都有了巨大的发展。要注意的是这里所提到的数据不仅仅来自企业内部业务系统的订单、库存、交易账目、客户和供应商数据，而且来自企业所处行业以及竞争对手的数据。也更加涵盖了来自网络的结构化和非结构化数据等等，而知识转变方式也已经不再是简单的运算处理了，也是引进了例如语义分析、神经网络、图形化处理等跨领域的方法，使得商业智能系统的功能变得更加强大，操作也更得更加简便。总之，商业智能的快速发展会随着人们日益增长的需求而不断提升和变化，它不仅给人们提供了想象的空间，而且使人们的想象促进了它的发展。<br><br><br>&nbsp;&nbsp;&nbsp; 二、零售业智能的技术走向<br><br><br>&nbsp;&nbsp;&nbsp; 到目前为止，无论是在商业智能技术的理论研究中还是在实际的产品实现中，联机分析处理与数据挖掘两大技术都是分离开来的。<br><br><br>&nbsp;&nbsp;&nbsp; 在理论研究中，OALP技术的研究人员主要是来自数据库界，其中重点研究实体化视图的选择与维护、CUBE压缩与计算、多维数据的索引和多维查询处理等等，这样可以有效的在海量数据上提供秒级的分析请求响应时间，而数据挖掘技术的研究人员主要来自人工智能、统计、数据库界等等，它研究的上要对象是各种挖掘算法与评价方法、可伸缩的数据挖掘方法、基于约束的挖掘方法以及复杂数据类型的挖掘等等。<br><br><br>&nbsp;&nbsp;&nbsp; 在产品的实现上，订些软件厂商早就看好了商业智能系统软件的市场前景，并且通过自行研制或者收购等方式推出了与智能控制相关的产品，其中一些数据库厂商，在通常情况下会给出从数据仓库——联机分析处理——数据挖掘的一个全套的解决方案，而其他的那些厂商就把重点放在独立分析、展现和挖掘智能工具的开发上，在联机分析处理技术和数据挖掘技术上，虽然他们两个在数据仓库上有着两种不同的获取目标的数据增值技术，但是这两种技术如果能够融合在一起，就会使得分析操作变得智能化，使挖掘操作的目标更加准确化，也能使商业智能技术的实用价值得到全面的提升，一方面，联机分析处理技术能为数据挖掘提供预期的挖掘对象和目标，避免了挖掘的盲目性：另一方面，数据挖掘技术能使联机分析处理技术变得智能化，从而减少了分析人员手下操作的复杂性，减轻了分析人员的负担，举个例子来说，如果分析人员在手工分析操作中发现了离群点数据，就可以有针对性地直接对这个数据利用数据挖掘处理技术找出原因、找出恶意违规或者能够发现新的需求点等等。<br><br><br>&nbsp;&nbsp;&nbsp; 此外，在数据分析的过程中，可以通过跟踪分析人员的操作过程，并且利用数据挖掘技术预测出他可能感兴趣的操作或者数据，以便提前预计算数据，提高分析操作的响应时间，总的来说，基于数据仓库的联机分析处理技术和数据挖掘技术的融合和互补才是是商业智能系统技术发展的未来走向。]]></description>
</item><item>
<title><![CDATA[BI商业智能与大数据应用的区别]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73320</link>
<author>waves</author>
<pubDate>2015/1/8 17:23:04</pubDate>
<description><![CDATA[之所以要区分大数据应用与BI(商业智能)，是因为大数据应用与BI、数据挖掘等，并没有一个相对完整的认知。
　　BI(BusinessIntelligence)即商务智能，它是一套完整的解决方案，用来将企业中现有的数据进行有效的整合，快速准确的提供报表并提出决策依据，帮助企业做出明智的业务经营决策。
　　伴随着BI的发展，是ETL，数据集成平台等概念的提出。ETL，Extraction Transformation Loading，数据提取、转换和加载，数据集成平台主要功能对各种业务数据进行抽取和相关转化，以此来满足BI、数据仓库对数据格式和内容挖掘的要求。
　　数据集成平台的基础工作与ETL有很大的相似性，其主要功能是实现不同系统不同格式数据地抽取，并且按照目标需求转化成为相应的格式。数据集成开始是点对点的，慢慢地发现这种模式对于系统之间，不同所有权的企业数据流向以及数据标准控制很难，为此，诞生了对统一企业数据平台的需求，来实现企业级之间的数据交互。
　　数据集成平台就像网络中Hub，可以连接所有应用系统，实现系统之间数据的互通有无。数据集成平台以BI、数据仓库需求而产生，现在已经跨越了最初的需求，上升到了一个更高的阶段。
　　如今大数据应用更多关注非结构化数据，更多谈论互联网，Twitter、Facebook、博客等非结构化数据，如此理解大数据应用，显然就有些走偏了。结构化数据也属于大数据，且呈现出相同的特点和特征，如数据量大，增长越来越快，对数据处理要求高等。
　　结构化数据是广义大数据中含金量或者价值密度最高的一部分数据，与之相比，非结构化数据含金量高但价值密度低。在Hadoop平台出现之前，没有人谈论大数据。数据应用主要是结构化数据，多采用IBM、HP等老牌厂商的小型机或服务器设备。
　　采用传统方法处理这些价值密度低的非结构化数据，被认为是不值得的，因为其产出实在是有限。Hadoop平台出现之后，提供了一种开放的、廉价的、基于普通商业硬件的平台，其核心是分布式大规模并行处理，从而为非结构化数据处理创造条件。
　　大数据应用的数据来源应该包括结构化数据，如各种数据库、各种结构化文件、消息队列和应用系统数据等，其次才是非结构化数据，又可以进一步细分为两部分，一是社交媒体，如Twitter、Facebook、博客等产生的数据，包括用户点击的习惯/特点，发表的评论，评论的特点，网民之间的关系等，这些都构成了大数据来源。另外一部分数据，也是数据量比较大的数据，就是机器设备以及传感器所产生的数据。以电信行业为例，CDR、呼叫记录，这些数据都属于原始传感器数据，主要来自路由器或者基站。此外，手机的置传感器，各种手持设备、门禁系统，摄像头、ATM机等，其数据量也非常巨大。
　　对于分析大数据的工具，目前所有的分析工具都侧重于结构化分析，例如针对社交媒体评论方向的分析，根据特定的词频或者语义，通过统计正面/负面评论的比例，来确定评论性质。如果有一个应用系统是接收结构化数据的，例如一个分析系统，接收这些语义就可以便于分析。
　　让大数据应用落地，其中的关键在于与行业应用的深度融合。
　　公安行业的视频影像处理是一个特定应用领域，传统BI、ETL工具拿这些数据没有办法，采用分布式Hadoop进行处理能够带来很好的效益，因为Hadoop可以处理数据量足够大。公安行业实际上已采集了大量视频影像数据，利用这些数据，可以追踪一个嫌疑犯的行踪，什么时间在全国哪些地区出现过。这些应用不可能单纯依靠人的力量，需要借助人脸识别、图像识别技术、模式处理，数据压缩等技术，需要海量处理软件，抓出相关特征，帮助公安人员提高工作效率。
　　在电信行业，计费系统实际上是对各种数据进行整合后的结果，是一个缩小的数据。借助大数据应用，运营商可以原始大数据进行分析，例如分析传感器数据是否有异常，从而判断设备异常等，这些都是一些用传统BI工具无法实现的分析，其结果往往会出乎意料，帮助运营商提高服务水平以及用户的满意度。
　　在互联网行业，通过分析手机上网轨迹，可以分析了解客户群，了解用户的偏好，此外，获取地理位置的信息，也具有特定价值。
　　从这些行业大数据应用分析来看，一个是视频影像处理，一个是日志分析，另外一个是处理特定文件格式的分析处理，彼此之间显然没有任何通用性的特点，其共同点就是利用了廉价的大数据处理平台。]]></description>
</item><item>
<title><![CDATA[重新定义商业智能 释放大数据价值]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73319</link>
<author>waves</author>
<pubDate>2015/1/5 11:46:50</pubDate>
<description><![CDATA[导读： 数据驱动型且洞察敏捷的企业能够很好地转变客户及员工的互动方式，并锁定新的商机。而未能实现现代化并无法充分利用这些新的数据动态的企业，则将面临竞争优势不保的风险。
　　很少有企业机构质疑大数据和分析能够为其带来的巨大价值，但最重要的问题在于，如何在可持续发展的基础上迅速释放大数据的价值，而无需巨额的前期投资。
　　企业已无法应对非结构化数据和传感器数据在数量和种类上的迅速增长。因而，他们迫切需要增进大数据分析的专业知识和能力，以保持竞争力。
　　在当今这个以客户为先的时代，工业化规模的分析能力和数据驱动型洞察能力是企业生存的关键，数据必须进行实时处理。这也是大多数企业都面临的挑战。据Forrester Research的调查显示，商业智能（BI）是2013年企业项目计划中软件方面最重要的项目。
　　数据驱动型且洞察敏捷的企业能够很好地转变客户及员工的互动方式，并锁定新的商机。而未能实现现代化并无法充分利用这些新的数据动态的企业，则将面临竞争优势不保的风险。
　　时间就是金钱
　　现代企业被寄予厚望，必须要不断提供更好的产品和服务、改进经营、更好地管理风险并开发新的业务模式，以保持相关性。
　　要想在这种环境中保持领先，企业必须能够分析并高效地使用全部相关数据，这些数据来自人、机器和交易数据等全新来源。这样员工及合作伙伴才能不断创新。
　　Forrester Research1认为：“随着数据量不断增长，企业运用数据并从中创造价值的能力在不断提升，公司将能够优化几乎业务运营的所有方面，包括采购、物流和客户体验。”
　　“此外，数字化革命等主要动态正在颠覆整个行业；所以，数据驱动型的洞察对企业生存将变得至关重要。因此，商业智能分析在当下和未来都将是企业投资和业务战略的重点领域之一。”
　　传统商业智能环境提供的分析和报告往往基于交易完成后的数据得出企业绩效和分析报告。
　　所以，传统系统并不能从工业化规模的新形式和大量数据中获得洞察。由于缺乏这项技术，目前许多企业都无法利用数据或在整个企业共享相关数据，这可能会影响企业的业务敏捷度和竞争力。
　　采取三步走策略
　　应对这些挑战可能花费极其昂贵，往往令人望而却步，对于那些迫切希望快速成为数据驱动和敏捷的企业尤其如此。
　　通过“即服务”的方式，企业无论处于转型中的哪个阶段，都无需昂贵的前期投资就能进行改变。
　　成功的商业智能现代化战略需具备三个核心要素：
　　1. 环境发现将解决“如何将数据分享给更多的员工”这一难题，以便他们能够做出数据驱动型和敏捷的决策。这些环境包括数据池--持有本地格式的原始数据的存储库--数据可视化工具，以及能够在整个企业迅速实现数据共享和分析协作的服务。
　　2. 分析解决方案将支持特定需求以便更高效地运营业务，无论是帮助客户构建新的项目，还是对已有的项目进行有针对性的改进。
　　3. 混合数据管理服务让企业能够通过工业规模的分析来追求业务创新。通过将它集成到业务流程和系统中，便可充分利用所有相关信息，无论来源于企业内交易系统、社交、传感器的信息，还是流动数据。
　实现早期里程碑的关键
　　通过 “即服务”方式，企业能够解决基础设施过时的问题。
　　如果这种方式是灵活开放的，就能将企业当前商业智能投资的优势与最新的分析创新整合，从而提供真正的商业价值。
　　这种灵活的消费模式让企业能够迅速抓住传统和新形式数据带来的潜在商机。
　　进行现代化刻不容缓，重要的里程碑需要尽早树立。
　　例如，在数据池中设置一个环境发现功能，最少只需要两周时间，尤其是使用云技术的时候，紧接着陆续推出全新的分析解决方案。
　　三步走方案将大规模转型的风险以及相关成本最小化。仅需12-18周时间，一个可靠的、数据驱动型商业智能环境即可投入运营，这大大降低了总体拥有成本，并提升了服务水平协议。
　　收益多多
　　将软件、硬件和咨询服务整合到一起的商业智能现代化计划可降低可预测成本，并且更能够构建整个企业范围内的能力和差异化。改造后的环境将支持：
　　&amp;#8226; 在整个企业范围内共享数据：可提升员工的工作能力并激发创新。
　　&amp;#8226; 嵌入式分析：获得新洞察以便改善运营和决策流程，并实时提供综合指导。
　　&amp;#8226; 降低风险：发现环境和“即服务”部署模式配置快速启用选项。
　　&amp;#8226; 业务敏捷性：强化竞争优势和客户互动。
　　掌握工业规模的大数据
　　随着数据数量的不断增长，企业发展的当务之急就是提高数据处理能力。
　　通过追求商业智能现代化，并特别强化“即服务”的模式，企业能够保护自己免受老旧基础设施的影响，且无需大量的前期投资。
　　通过工业规模的分析和数据驱动型洞察来释放数据的威力，企业将能够优化运营的方方面面。
]]></description>
</item><item>
<title><![CDATA[大数据安全分析不容忽视的三个真相]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73318</link>
<author>waves</author>
<pubDate>2015/1/4 14:33:39</pubDate>
<description><![CDATA[大数据分析工具与分布式数据库确实蕴藏着巨大潜力，有可能改变安全监控与调查工作的执行方式。然而这些与汇总安全数据并加速分析流程的创新途径也会带来很多不必要的麻烦。

这不仅是因为比起供应商们的卖力宣传，这些工具与服务其实很难被纳入业务流程当中，而且它们还会给不加批判使用这类方案的安全部门带来大量潜在风险。这一结论来自Rapid7公司首席研究官兼安全研究员H.D.Moore本周早些时候在本届于波士顿举行的联合国安全大会上的发言。

大数据

根据Moore的观点，大数据很可能给“攻击者与防御者双方的根本机制带来变化”。而且安全部门尤其需要从以下三个角度理解Moore在本届大会上的发言。

1. 大数据绝非魔法

根据Moore的论断，如今以大数据为核心的炒作之声甚嚣尘上，这一术语已经成为所有类型安全分析工具的必备宣传口号。安全业界几乎把它作为一句咒语来膜拜，似乎只要有大数据存在，安全性的美梦就能最终实现。

“人们往往认为如果我们把所有数据都安置在一起，就能魔术般地实现安全性诉求。这当然只是种误解，”他指出。“在海量数据面前，我们可以通过深入钻研找到有价值的内容，从而获得显著的安全提升效果，但整个分析过程绝不可能手到擒来。”

如果没有专门的管理者打理执行流程、编写正确的查询指令并询问符合实际的安全问题，大数据其实根本无法带来什么实质性效果。“因此，请注意您的投资方向，并确保在向某款数据分析工具投资之前、至少已经有一家其它厂商也向其投过资。再有，我们的投资数额不要超过对方，”他指出。

2. 把所有鸡蛋放在同一个摇摇欲坠的篮子当中

更令Moore感到忧心的是，虽然大数据安全分析工具层出不穷(包括自主研发与第三方提供)，但这些工具本身的安全性其实并没有保障。

“我们看到众多以大数据工具包为核心创造出的方案——例如Mongo以及Cassandra——但这些工具中往往并没有加入安全机制，”他表示。举例来说，MongoDB在默认状态下并不支持SSL，而且与更加成熟的传统数据库相比、其安全级别还远远达不到要求、也没有提供类似的管理工具。“这实际上非常可怕，在默认情况下这些工具毫无安全性可言，但它们如今却已经被打包出售并充当大数据服务的后端。”

此同时，企业则将大量安全元数据、日志文件等等聚合在一起从而实现大规模分析，这种做法进一步加深了安全风险出现的可能性。

“企业正竭尽全力将所有能够获取到的数据集中起来保存在同一位置，”他解释道。“对于恶意人士来说，这种集中式存储方式无疑是最唾手可得的财富宝库。面对过去那些可怕的密码泄露事故，每位管理者都会感到不寒而慄。然而与未来可能由于大数据汇总所引发的TB级别数据泄露相比，过去那些事故简直不算什么。”

企业放置敏感安全数据的篮子不仅太大，而且放得也不太稳，这一切当然会令人忧心忡忡。

3. 依平均概率推算，分析服务供应商的违规事故即将出现

在多数情况下，鸡蛋篮子的倾覆普遍基于外部原因。随着大数据安全分析服务供应商逐步加入战团，企业如果不认真审查自己的供应商、其面临的风险状况将持续恶化，Moore警告称。

“安全服务供应商所处理的数据总量以及数据类型非常关键，”Moore进一步解释称。“大家会发现包括电话通话日志(谁打给谁、用户何时登陆等)以及其它敏感信息在内的数据都会被纳入到日志文件当中来。”

Moore认为，随着服务供应商在市场价值上的逐步拓展，他们使用的相关产品中不安全因素也将持续增加。供应商手中掌握的重要客户数据清单一天天膨胀，而这最终会导致大规模数据泄露事故——这一天已经不会很远。

“明年几乎必须会出现大问题，我们很可能看到某家大型分析服务供应商——无论是安全性、日志数据还是其它业务——遭遇违规事故，”他指出。“这与个人意见无关，而只是平均概率带来的必然结果。如今有很多家伙正努力打造产品与服务，虽然我们并不了解他们的具体执行流程，但数据泄露的出现将只是时间问题。”]]></description>
</item><item>
<title><![CDATA[数据分析师在企业中如何完成数据报告]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73315</link>
<author>waves</author>
<pubDate>2014/12/29 11:56:52</pubDate>
<description><![CDATA[1、数据分析师需要进行思考

随着时代的发展，人们每天在互联网上产生大量的数据，对于企业来讲这些数据都是十分宝贵的资源。企业可通过数据挖掘进行战略调整以及营销部署，尤其是对于互联网公司而言，用户行为产生的数据就是企业最宝贵的资源。

数据挖掘（Data mining），又译为资料探勘、数据挖掘、数据采矿。它是数据库知识发现中的一个步骤。数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性的信息的过程。数据挖掘通常与计算机科学有关。

不过目前为止，在企业中存在着很大的数据分析问题，如何进行数据分析，数据挖掘的结果要如何展示，企业中各个部门要如何才能最大化的利用数据分析结果。这些一直困扰着数据团队。

数据分析在企业主要是由于业务需求驱动的，但从数据分析师角度来看数据分析并不是简单的坐在那里等需求，需求来了就做没有需求就坐在那里等。数据分析师需要进行思考。

思考一：数据分析的需求方是谁，是公司的领导层还是销售，还是市场团队或者产品团队。

思考二：企业有什么样的资源，企业有什么样的数据，如何将需求方与数据本身的价值进行串联，这是一个非值得思考的方向。

2、最常见的数据分析案例

在企业中同样一份数据报告的需求方有很多，但肯定不是全部的人都需要。作为数据团队，如何将有效的数据传递给最需要的人，这样才能更大更好的发挥数据本身的价值。

数据分析师需要思考

在 一个企业中，对于各个部门员工的数据培训是不可少的，由于数据报告主要面向企业内部的员工，如何让员工具有一定的数据解读能力就显得非常必要。优酷土豆杜 长嵘在数据分析与数据可视化技术聚会上说到：“数据团队按照周与月为单位，为内部员工做数据培训，长久下去数据团队在企业内的地位就会得到显著提升。”

企业知识管理同样是数据团队重要的工作之一，数据团队将每天分析完的数据转化为知识，让每一个需要的人都可以随时随地的得到想要的数据信息。也就不再需要让数据团队将已经存档完毕的数据从新拿出来。

作为数据分析团队，在进行数据解读的时候需要具有独到的看法，以下是几个有趣的例子。

案例1：老杜有五个女儿，那么他第六个孩子一定是个儿子。

案例2：有三组彩票号码，这三组哪一个中奖率最高？哪一个最低？

案例3：某市嚼口香糖的人和心脏病去世的人同时升高，嚼口香糖可导致心脏病发作。

其 实我们可以发现，这些数据事件中的因果关系并不明确。第一，男孩和女孩的几率都是一样的，前五个是女孩但是第六个仍然有一半的几率是女孩。第二，虽然每组 数字让我们都有所联想，但事实上每组数字的中奖率都是一样的。第三，并没有直接的数据证明嚼口香糖会导致心脏病，所以这个数据只能说明这个城市的人口增加 了，人口基数的变化造成了这样的数据结果。

3、数据分析师的十个重要技巧

这是很多人在进行数据解读时犯的错误，只是关注数据的相关性，从相关性解释数据的因果性。

作为数据分析人员需要掌握以下十种重要的技巧

会用一款或以上的数据分析工具

经常浏览数据统计的网站

在数据分析前先进行调研

在分析数据的时候用户体验的角度出发的么并不是以公司利益为主。

了解数据采集的方式以及数据内容和质量内容

熟悉各种样式低量和定位的不同

做一个饥渴的探索者

在企业内部有效的沟通着

街头智慧

防御中带有进攻。

在企业中，数据分析师的角色十分重要。没有数据指引的企业犹如没头苍蝇到处乱飞，相比之下，企业的决策层可以根据数据挖掘提供的相关报表完成企业战略发展的制定。

对于数据分析师来说，如何将企业收集的杂乱数据进行分析处理，最终为其他部门提供一份清晰明朗的数据报告就显得格外重要。]]></description>
</item><item>
<title><![CDATA[可视化，大数据变现的关键途径]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73312</link>
<author>waves</author>
<pubDate>2014/12/26 13:54:24</pubDate>
<description><![CDATA[在Google搜索有关“大数据”，会出现很多个由立体0和1组成的图片，一些解释性的信息图示，甚至出现“黑客帝国”的界面。那“大数据”到底是什么，人类能够理解吗？

如果问一家大公司的首席执行官什么是“大数据”，他们可能会描述一些类似于黑匣子（飞机上的飞行记录器）的东西，或者在白板上画一朵云。如果问数据科学家，他们可能会向你解释一下 4V的概念，4V是指用信息图示解释（其实只是事实的视觉集合），当然还带有相应的说明。之所以这样做是因为“大数据”是一个有着不同含义、象征，应用于不同组织的模糊术语。

可以理解，要想弄明白这是发源于哪、什么时候盛行是很难的。有关记录最早是在2003年， 那时人类创造了5EB数据。到了2011年， 每两天就会产生同样多的数据。诚然，与前几代数据的呈现方式相比，我们已经取得了飞跃发展。但到了今天的大数据时代，数据的呈现方式有助于传递信息，不过它需要的就不仅仅是漂亮的表面文章了。它需要实用，能展现多个维度，还要考虑实用性。

新的软件和技术使我们能够更深入的理解这些庞大的数据集。然而，我们要去真正收集和加工有价值的大数据，唯一方法是要提高数据可视化的水平。我们怎样进行可行性分析、深入了解、全面直观地表示信息呢？答案是，我们需要使数据更容易理解。

新的可视化工具，新的挑战

通过理解大数据，使之更贴近大多数人，最重要的手段的之一就是数据可视化。数据可视化标识导向系统，包括文字的，如街头的路标指引你到高速公路，还有象征的，如颜色、大小或位置的抽象元素传达的信息。在某种意义上，恰当的视觉标识可以提供较短的路线，帮助选择路线，成为通过数据分析传递信息一种重要的工具。然而，要真正可行，数据可视化应有适当的交互性。他们必须设计良好、易于使用、易于理解、有意义、更容易被人接受。

Michal Migurski说道：“数据可视化是一个相对的概念......通常说它是即将出现的新事物。”随着技术的变化而改变，我们不断地开发新的工具以利用它实现跨行业应用。一些熟悉的可视化包括信息图示、臭名远扬的控制面板，当然还有地图。

现今无所不在的 信息图示是澄清复杂问题的好方法。在此类别中， Visua.ly是一个很大的来源。图表通常是在海报或演示文稿中精心制作来传达意思，但在一定的时间内提供的实时信息还远远不够。控制面板或许是一个有用的工具，但它们往往设计的不好。同样的图表和图形重复的出现。

当控制面板设计的像车辆仪表盘和里程计的文字说明时就更糟了。最重要的是当想要通过仪表板传达有关人的信息时，他们往往不够人性化。最后，地图作为一个依赖于地理重要的信息层，是我最喜欢的可视化成果之一。当你可以依靠像一个国家或省的地形等容易识别的形状，地图是很有用的，但如果不是地理数据怎么办？

想想谷歌地图。现在可以说是现今世界上最全面和最成功的数据可视化集。它以多种数据可视化方法提供了一套全面的数据集，不断更新而且相当容易使用。其界面提供满足个人需求和查询数据的多个视图，可以跨设备使用。它还提供了一个强大的API，使它不再仅仅是个软件，而成为一个平台。它的 API能够实现从基础地图功能到呈现难以穷尽的地理信息。

看看Weldon Cooper Center服务大众的 Racial Dot Map(用谷歌API创建），使用颜色编码描绘了在美国分布的种族多样性（类似于在热图上看早晨的天气报告）。你也可以放大一个特定区域或地区来获取细节(每个人代表一个点，按种族用颜色编码）。

有了谷歌，如何显示信息和组织信息成为了大家关心的问题。但这使一个群落更具稳健性（在为Geo产品工作的400多个谷歌员工），因此来源越少，数据可视化的风险越小。

数据光谱的另一端，可以看看纽约时报是怎样用视觉效果为它的报道增光加彩的。例如，一篇关于NASA的 Kepler mission，记录了超过190个被证实围绕遥远恒星运转的行星，从在行星轨道上运行的速度，到距离恒星的距离、恒星温度和星系的大小都加入了浅显易懂的可视化效果。

另一个例子就是用图形描绘 Silk Road，讲述这著名的贸易路线的现代版本。彩色照片和精心编辑的视频，按沿路线上的关键停留点分组、传达丝绸之路的内涵，加上帮助在地理上放置的照片和视频的信息图示。

通过这些可视化成果，你也会开始认识到一些限制，是否要呈现出整个可以想象到的数据（想象一下检查19亿颗的系外行星，而不是190颗），或者是否需要从多个层面上理解。这些例子就像发展大数据可视化的路标。我们从这些零散的示例到更大数据集的应用中又可以获得什么？

大数据才刚刚开始出现，我们管理后端的方式也在不断变化。我们需要强有力的工具通过使数据有意义的方式实现数据可视化，还有数据的可交互性。我们需要跨学科的团队，而不是单个数据科学家、设计师或数据分析员，我们需要重新思考我们所知道的数据可视化。图表和图形还只能在一个或两个维度上传递信息，那么他们怎样才能与其他维度融合到一起深入挖掘大数据呢？我们的大数据可视化（BDV）工具需要实现功能、可更新的，而不是作为软件的部分。

在此过程中，数据变得更具可塑性、可行性，最终更加人性化。通过灵活的数据和可视化框架，我们希望能容纳多种意见，使我们能够利用数据适应不断变化的需求和查询。接受大数据含糊不清的性质，但要提供并找到让它和你联系的更加紧密的工具。数据的视觉解释会因你的目标和对目标的回答的不同而不同。因此，虽然会存在视觉上的相似之处，但没有两个可视化结果是相同的，就像世界上不可能有完全相同的两片叶子。]]></description>
</item><item>
<title><![CDATA[用了finereport以后学到的一些知识]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73311</link>
<author>waves</author>
<pubDate>2014/12/25 14:04:07</pubDate>
<description><![CDATA[最近一直在用finereport，顺便学到了一些知识，和大家分享一下~
1.加参数op=write转到填报预览
2.=seq()自动生成序列号
3.if(confirm("确认是否删除"))
{
return true;
}
else
return false;
4.topn筛选引用ajax
function test(){
  var num = parseInt(arguments[0]);  
  $.ajax({
     [url='${servletURL}?op=dialog_parameters&sessionID=${sessionID}]url:'${servletURL}?op=dialog_parameters&sessionID=${sessionID}'[/url],
     type : 'POST',
     data : {n : num,cname:'salary',order:'desc' },
     complete : function() { FR.SessionMgr.get('${sessionID}').loadContentPane();}
  })
};
FR.Msg.prompt("TopN筛选", "TopN", "",test);
5.获取复选框中选中的单元格值
var aa=[];
var bb=[];
var cc=[];
var $span=$(".x-checkbox-checkon");
var $tds=$("td").has($span);
var $trs=$("tr").has($tds);
alert($trs.length);
for(var i=0;i<$trs.length;i++)
{
var a=$("td:eq(2)",$($trs)).html();
aa.push(a);
var b=$("td:eq(8)",$($trs)).html();
bb.push(b);
var c=$("td:eq(9)",$($trs)).html();
cc.push(c);
}
alert(aa+";"+bb+";"+cc);
6.鼠标悬浮所在行的背景颜色变换
var aa=$("tr");
for(var i=0;i<aa.length;i++)
{
aa.onmouseover=function(){
this.style.background="red";
}
aa.onmouseout=function(){
this.style.background="white";
}
}

第一次发帖，有什么错误求大神指教，也希望和看帖的新人一同进步~~

在公司搞帆软的时间并不多，在此再更新下学习的东西与大家分享哈~很多是从操作手册借鉴来的，但都是自己测试成功的，当然也有自己写的~~
7.点击按钮弹出参数界面JS：
function ShowSearch() {
    var btn = $(".fr-window");
    alert(btn.length);
    btn[0].style.display="";
    var sbtn=$(btn[0]).find("td[class='x-btn-mc']");//查找参数界面中的提交按钮
    sbtn.bind("click",CloseSearch);
    return;
    }
//关闭按钮
function CloseSearch()
{
var btn=$(".fr-window");
btn[0].style.display="none";
}
8.初始化页面时先出数据，然后点击按钮出参数页面：
function mitsearch()
{
var btn=$(".view-container");
var s=btn.next()[0];
var sbtn=$(s).find("td[class='x-btn-mc']");
sbtn.bind("click",CloseSearch);//CloseSearch就是上面的方法
sbtn.click();}
window.onload=mitsearch;
9.报表从URL中取参数：比如
[url=http://localhost:8075/WebReport/ReportServer?reportlet=[5e02][7ea7][8003][6838].cpt&NF=2012&op=write]http://localhost:8075/WebReport/ReportServer?reportlet=[5e02][7ea7][8003][6838].cpt&NF=2012&op=write[/url]
$NF=2012
10.手动输入数据库：_g('${sessionID}').writeReport();
11.遍历class为sheet-container的div中的td，从而执行相关代码
if(confirm("是否生成？"))
{
$("div.sheet-container td").each(function(){if($(this).attr("id").indexOf("C2-")!=-1){var xnf=$(this).html();
_g('${sessionID}').writeReport();
window.location.href="http://192.168.2.205/gdtdsc/Module/PJJG/PJJGManager.aspx?NF="+xnf;
}})
}
else
{
return false;
}
12.报表中填报同时进行数据列的插入和更新可以设置条件属性，或在填报属性中修改主键参数条件IF(ISNULL(A7),UUID(),A7)         (A7为对应的主键列)]]></description>
</item><item>
<title><![CDATA[一网打尽13款开源Java大数据工具，从理论到实践的剖析]]></title>
<link>http://blogger.org.cn/blog/more.asp?name=waves&amp;id=73310</link>
<author>waves</author>
<pubDate>2014/12/24 11:56:37</pubDate>
<description><![CDATA[摘要：Java Code Geeks联合创始人Byron Kiourtzoglou近日发表文章，从理论到实践剖析了大数据的4个V，并于文章最后分享了Java工程师可能会需要的13个主流开源大数据工具。

大数据几乎已成为所有商业领域共有的最新趋势，然而大数据究竟是什么？是噱头、泡沫，又或是真如传言一样的重要。
事实上，大数据是个非常简单的术语——就像它所说的一样，是非常大的数据集。那么究竟有大多？真实的答案就是“如你所想的那么大”！
那么为什么会产生如此之大的数据集？因为当今的数据已经无所不在并且存在着巨大的回报：收集通信数据的RFID传感器，收集天气信息的传感器，移动设备给社交网站发送的GPRS数据包，图片视频，在线购物产生的交易记录，应有尽有！大数据是一个巨大的数据集，包含了任何数据源产生的信息，当然前提是这些信息是我们感兴趣的。

然而大数据的含义绝不只与体积相关，因为大数据还可以用于寻找新的真知、形成新的数据和内容；我们可以使用从大数据中提取的真知、数据和内容去使商业更加灵活，以及回答那些之前被认为远超当前范畴的问题。这也是大数据被从以下4个方面定义的原因：Volume（体积）、Variety（多样）、Velocity（效率）以及Veracity（Value，价值），也就是大数据的4V。下面将简述每个特性以及所面临的挑战：

1.Volume

Volume说的是一个业务必须捕获、存储及访问的数据量，仅仅在过去两年内就生产了世界上所有数据的90%。现今的机构已完全被数据的体积所淹没，轻易的就会产生TB甚至是PB级不同类型的数据，并且其中有些数据需要被组织、防护（窃取）以及分析。

2.Variety

世界上产生的数据有80%都是半结构化的，传感器、智能设备和社交媒体都是通过Web页面、网络日志文件、社交媒体论坛、音频、视频、点击流、电子邮件、文档、传感系统等生成这些数据。传统的分析方案往往只适合结构化数据，举个例子：存储在关系型数据库中的数据就有完整的结构模型。数据类型的多样化同样意味着为支持当下的决策制定及真知处理，我们需要在数据储存和分析上面进行根本的改变。Variety代表了在传统关系数据库中无法轻易捕获和管理的数据类型，使用大数据技术却可以轻松的储存和分析。

3.Velocity

Velocity则需要对数据进行近实时的分析，亦称“sometimes 2 minutes is too late!”。获取竞争优势意味着你需要在几分钟，甚至是几秒内识别一个新的趋势或机遇，同样还需要尽可能的快于你竞争对手。另外一个例子是时间敏感性数据的处理，比如说捕捉罪犯，在这里数据必须被收集后就完成被分析，这样才能获取最大价值。对时间敏感的数据保质期往往都很短，这就需求组织或机构使用近实时的方式对其分析。

4.Veracity

通过分析数据我们得出如何的抓住机遇及收获价值，数据的重要性就在于对决策的支持；当你着眼于一个可能会对你企业产生重要影响的决策，你希望获得尽可能多的信息与用例相关。单单数据的体积并不能决定其是否对决策产生帮助，数据的真实性和质量才是获得真知和思路最重要的因素，因此这才是制定成功决策最坚实的基础。

然而当下现有的商业智能和数据仓库技术并不完全支持4V理论，大数据解决方案的开发正是针对这些挑战。

下面将介绍大数据领域支持Java的主流开源工具：

1.HDFS

HDFS是Hadoop应用程序中主要的分布式储存系统， HDFS集群包含了一个NameNode（主节点），这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode（数据节点，可以有很多）。HDFS针对海量数据所设计，所以相比传统文件系统在大批量小文件上的优化，HDFS优化的则是对小批量大型文件的访问和存储。

2.MapReduce

Hadoop MapReduce是一个软件框架，用以轻松编写处理海量（TB级）数据的并行应用程序，以可靠和容错的方式连接大型集群中上万个节点（商用硬件）。

3.HBase

Apache HBase是Hadoop数据库，一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问，并针对了商用服务器集群上的大型表格做出优化——上百亿行，上千万列。其核心是Google Bigtable论文的开源实现，分布式列式存储。就像Bigtable利用GFS（Google File System）提供的分布式数据存储一样，它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。
 
4.Cassandra

Apache Cassandra是一个高性能、可线性扩展、高有效性数据库，可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中，Cassandra同类最佳，为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存，Cassandra的数据模型提供了方便的二级索引（column indexe）。

5.Hive

Apache Hive是Hadoop的一个数据仓库系统，促进了数据的综述（将结构化的数据文件映射为一张数据库表）、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言，同时当使用这个语言表达一个逻辑变得低效和繁琐时，HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。

6.Pig

Apache Pig是一个用于大型数据集分析的平台，它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行，也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin，开发的初衷是易于编程和保证可扩展性。

7.Chukwa

Apache Chukwa是个开源的数据收集系统，用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上，继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包，用以显示、监视和分析结果，以保证数据的使用达到最佳效果。

8.Ambari

Apache Ambari是一个基于web的工具，用于配置、管理和监视Apache Hadoop集群，支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘，比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力，以友好的用户界面对它们的性能特性进行诊断。

9.ZooKeeper

Apache ZooKeeper是一个针对大型分布式系统的可靠协调系统，提供的功能包括：配置维护、命名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务，将简单易用的接口和性能高效、功能稳定的系统提供给用户。

10.Sqoop

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具，可以将一个关系型数据库中数据导入Hadoop的HDFS中，也可以将HDFS中数据导入关系型数据库中。

11.Oozie

Apache Oozie是一个可扩展、可靠及可扩充的工作流调度系统，用以管理Hadoop作业。Oozie Workflow作业是活动的Directed Acyclical Graphs（DAGs）。Oozie Coordinator作业是由周期性的Oozie Workflow作业触发，周期一般决定于时间（频率）和数据可用性。Oozie与余下的Hadoop堆栈结合使用，开箱即用的支持多种类型Hadoop作业（比如：Java map-reduce、Streaming map-reduce、Pig、 Hive、Sqoop和Distcp）以及其它系统作业（比如Java程序和Shell脚本）。

12.Mahout

Apache Mahout是个可扩展的机器学习和数据挖掘库，当前Mahout支持主要的4个用例：

推荐挖掘：搜集用户动作并以此给用户推荐可能喜欢的事物。
聚集：收集文件并进行相关文件分组。
分类：从现有的分类文档中学习，寻找文档中的相似特征，并为无标签的文档进行正确的归类。
频繁项集挖掘：将一组项分组，并识别哪些个别项会经常一起出现。


13.HCatalog

Apache HCatalog是Hadoop建立数据的映射表和存储管理服务，它包括：

提供一个共享模式和数据类型机制。
提供一个抽象表，这样用户就不需要关注数据存储的方式和地址。
为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。]]></description>
</item>
</channel>
</rss>