﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Java报表工具</title><link>http://www.blogjava.net/echoseason/</link><description>关注java报表工具 报表制作 </description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 01:21:34 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 01:21:34 GMT</pubDate><ttl>60</ttl><item><title>统计图表FineReport聚合报表</title><link>http://www.blogjava.net/echoseason/archive/2015/05/18/425136.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 18 May 2015 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/05/18/425136.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/425136.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/05/18/425136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/425136.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/425136.html</trackback:ping><description><![CDATA[<div><a href="http://www.finereport.com/knowledge/chart">统计图表</a>FineReport聚合报表<br /><a name="a:1." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">1.&nbsp;问题描述</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">使用嵌入式主子表制作模板，如果子报表比较大，不止一页，这时嵌入到主报表中只能显示部分（嵌入式的子报表只能在固定大小的区域中显示，不能自动扩展），怎么能显示其余页的数据呢？或者两个扩展的单元格怎样设置互补影响呢？这时就可以使用聚合报表来实现，如下图聚合报表实现效果：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/9/3-1.gif" style="padding: 10px 0px 5px;"  alt="" /></div><a name="a:2." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">2.&nbsp;示例</div></a><a name="a:2.1" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.1&nbsp;聚合块自动扩展位置大小</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">添加聚合模板，拖动数据表字段，设计表中样式等，模块大小不用固定可跟设计模板大小相同即可，如下图：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/9/3-2.gif" style="padding: 10px 0px 5px;"  alt="" /></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">预览模板聚合块自动扩展数据，超过一页大小，以分页的方式显示，如下图。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/9/3-3.gif" style="padding: 10px 0px 5px;"  alt="" /></div><a name="a:2.2" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.2&nbsp;聚合块扩展互不影响</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">设置固定格式表头，不需要受到扩展数据的影响，这时就两个聚合块，一个设表头格式，另一个就是展示扩展数据，两个聚合块相互独立，如下图设置效果：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/9/3-4.gif" style="padding: 10px 0px 5px;"  alt="" /></div><a name="a:2.3" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.3&nbsp;数据分析预览聚合报表</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">已完成模板可参照<span style="font-weight: bold; color: #8b008b;">%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\polybook.cpt</span>。模板效果在线查看请点击polybook.cpt</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">如果只希望内容在一页显示完全，则可以点击设计器右上角上面的数据分析预览，即预览模板时在后面加上参数<span style="font-weight: bold; color: #0000ff;">&amp;op=view</span>，则可看到文档中第一张图的效果。</div></div><img src ="http://www.blogjava.net/echoseason/aggbug/425136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-05-18 14:24 <a href="http://www.blogjava.net/echoseason/archive/2015/05/18/425136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图表制作FineReport 连接池原理</title><link>http://www.blogjava.net/echoseason/archive/2015/05/18/425133.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 18 May 2015 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/05/18/425133.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/425133.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/05/18/425133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/425133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/425133.html</trackback:ping><description><![CDATA[<div style="text-align: center; "><a href="http://www.finereport.com/knowledge/chart">图表制作</a>FineReport 连接池原理<br /><div style="text-align: left;"><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">连接池主要由三部分组成：连接池的建立、连接池中连接使用的治理、连接池的关闭。下面就着重讨论这三部分及连接池的配置问题。</div><a name="a:1." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">1.&nbsp;连接池原理</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">连接池技术的核心思想，是连接复用，通过建立一个数据库连接池以及一套连接使用、分配、治理策略，使得该连接池中的连接可以得到高效、安全的复用，避免了数据库连接频繁建立、关闭的开销。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">另外，由于对JDBC中的原始连接进行了封装，从而方便了数据库应用对于连接的使用（特别是对于事务处理），提高了开发效率，也正是因为这个封装层的存在，隔离了应用的本身的处理逻辑和具体数据库访问逻辑，使应用本身的复用成为可能。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"></div><a name="a:1.1" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">1.1&nbsp;连接池的建立</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">应用程序中建立的连接池其实是一个静态的。所谓静态连接池是指连接池中的连接在系统初始化时就已分配好，且不能随意关闭连接。Java中提供了很多容器类可以方便的构建连接池，如：Vector、Stack、Servlet、Bean等，通过读取连接属性文件Connections.properties与数据库实例建立连接。在系统初始化时，根据相应的配置创建连接并放置在连接池中，以便需要使用时能从连接池中获取，这样就可以避免连接随意的建立、关闭造成的开销。</div><a name="a:1.2" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">1.2&nbsp;连接池的治理</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">连接池治理策略是连接池机制的核心。当连接池建立后，如何对连接池中的连接进行治理，解决好连接池内连接的分配和释放，对系统的性能有很大的影响。连接的合理分配、释放可提高连接的复用，降低了系统建立新连接的开销，同时也加速了用户的访问速度。下面介绍连接池中连接的分配、释放策略。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">连接池的分配、释放策略对于有效复用连接非常重要，我们采用的方法是一个很有名的设计模式：Reference Counting（引用记数）。该模式在复用资源方面应用的非常广泛，把该方法运用到对于连接的分配释放上，为每一个数据库连接，保留一个引用记数，用来记录该连接的使用者的个数。</div><a name="a:1.3" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">1.3&nbsp;连接池的关闭</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">当应用程序退出时，应关闭连接池，此时应把在连接池建立时向数据库申请的连接对象统一归还给数据库（即关闭所有数据库连接），这与连接池的建立正好是一个相反过程。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">连接池分配一个连接后如定义一个数据集，点击预览，执行完对应的sql语句会将所占用的连接归还连接池。</div><a name="a:2." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">2.&nbsp;连接池的配置</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">数据库连接池中到底要放置多少个连接，才能使系统的性能更佳，用minConn和maxConn来限制。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">minConn是当应用启动的时候连接池所创建的连接数，假如过大启动将变慢，但是启动后响应更快；假如过小启动加快，但是最初使用的用户将因为连接池中没有足够的连接不可避免的延缓了执行速度。因此应该在开发的过程中设定较小minConn，而在实际应用的中设定较大minConn。maxConn是连接池中的最大连接数，可以通过反复试验来确定此饱和点。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">为此在连接池类ConnectionPool中加入两个方法getActiveSize（）和getOpenSize（），ActiveSize 表示某一时间有多少连接正被使用，OpenSize表示连接池中有多少连接被打开，反映了连接池使用的峰值。将这两个值在日志信息中反应出来， minConn的值应该小于平均ActiveSize，而maxConn的值应该在activeSize和OpenSize之间。</div></div></div><img src ="http://www.blogjava.net/echoseason/aggbug/425133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-05-18 10:40 <a href="http://www.blogjava.net/echoseason/archive/2015/05/18/425133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java报表开发FineReport Excel双向导入</title><link>http://www.blogjava.net/echoseason/archive/2015/05/12/425017.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Tue, 12 May 2015 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/05/12/425017.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/425017.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/05/12/425017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/425017.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/425017.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 14pt;"><a href="http://www.finereport.com/">java报表开发</a>FineReport Excel双向导入<br /></strong><a name="a:1." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h1" style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">1.&nbsp;描述</div></a><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">Excel双向导入是指标题行列是从单元格扩展得到的，并将导入数据的单元格也是可扩展的，如下图所示效果，标题字段通过横向扩展得到，导入数据的单元格纵向扩展，导入不定行数据：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-1.png" style="padding: 10px 0px 5px;"  alt="" /></div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">Excel双向导入模板在web端填报预览打开之后，其展示效果与固定标题行导入不定行是一样的，那么双向导入的逻辑仍然是首先根据标题匹配，如果标题匹配不上或者只有一个可以匹配上或者设置了不执行根据标题匹配，则执行根据位置匹配。</div><a name="a:2." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h1" style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">2.&nbsp;示例</div></a><a name="a:2.1" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h2" style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.1&nbsp;模板准备</div></a><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">新建一个模板，添加<span class="doc_navigation" style="font-weight: bold; color: #008080;">内置数据集</span>，该数据集中只有一列数据，存储的是<span class="doc_formula" style="font-weight: bold; color: #0000ff;">产品表</span>中的字段名称，如下图：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-2.png" style="padding: 10px 0px 5px;"  alt="" /></div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">内置数据集准备好之后，将<span class="doc_formula" style="font-weight: bold; color: #0000ff;">字段名称</span>数据列拖曳到A2单元格中，设置为横向扩展，并将A3单元格设置为纵向扩展，如下图：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-3.png" style="padding: 10px 0px 5px;"  alt="" /></div><a name="a:2.2" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h2" style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.2&nbsp;工具栏设置</div></a><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">默认填报工具栏是没有导入Excel按钮的，点击<span class="doc_navigation" style="font-weight: bold; color: #008080;">模板&gt;模板web属性&gt;填报页面设置</span>，<span class="doc_navigation" style="font-weight: bold; color: #008080;">为该模板单独设置</span>，勾选<span class="doc_navigation" style="font-weight: bold; color: #008080;">使用工具栏</span>，为该报表单独设置工具栏，清空工具栏，然后在按钮面板中双击<span class="doc_navigation" style="font-weight: bold; color: #008080;">提交</span>按钮和<span class="doc_navigation" style="font-weight: bold; color: #008080;">导入excel</span>按钮，将这两个按钮添加到顶部工具栏中，与<span class="doc_formula" style="font-weight: bold; color: #0000ff;">根据位置匹配示例</span>中的设置相同。</div><a name="a:2.3" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h2" style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.3&nbsp;配置文件修改</div></a><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">FineReport默认不开启双向导入，故，如果要使用双向导入，首先要先修改配置文件，使其开启双向导入。</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">打开<span class="doc_dir" style="font-weight: bold; color: #8b008b;">%FR_HOME%\WebReport\WEB-INF\resources</span>下面的<span class="doc_formula" style="font-weight: bold; color: #0000ff;">customconfig.xml</span>文件，如果没有该文件，则复制<span class="doc_formula" style="font-weight: bold; color: #0000ff;">config.xml</span>至该文件夹中，并重命名为<span class="doc_formula" style="font-weight: bold; color: #0000ff;">customconfig.xml</span>，如下图：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-4.png" style="padding: 10px 0px 5px;"  alt="" /></div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">在<span class="doc_formula" style="font-weight: bold; color: #0000ff;">customconfig.xml</span>文件最后面的<span class="doc_formula" style="font-weight: bold; color: #0000ff;">&lt;/ReportServerParameter&gt;</span>标签之前插入<span class="doc_formula" style="font-weight: bold; color: #0000ff;">&lt;ImportDoubleDir doubledir = "true"/&gt;</span>，表示开启双向导入，如下图：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-5.png" style="padding: 10px 0px 5px;"  alt="" /></div><a name="a:2.4" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div class="doc_h2" style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.4&nbsp;Excel导入</div></a><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">点击<span class="doc_navigation" style="font-weight: bold; color: #008080;">填报预览</span>按钮，在web端预览报表，可以看到标题字段是扩展出来的，点击工具栏上的<span class="doc_navigation" style="font-weight: bold; color: #008080;">导入Excel</span>按钮，选择excelimport.xls，可以看到如下图所示效果：</div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/29/1/3-6.gif" style="padding: 10px 0px 5px;"  alt="" /></div><div class="doc_description" style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">已完成模板请参照<span class="doc_dir" style="font-weight: bold; color: #8b008b;">%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject|\ExcelImport\ExcelImport_5.cpt。</span></div><strong style="font-size: 14pt;"><br /></strong></div><img src ="http://www.blogjava.net/echoseason/aggbug/425017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-05-12 13:59 <a href="http://www.blogjava.net/echoseason/archive/2015/05/12/425017.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>统计图表FineReport之SQL函数</title><link>http://www.blogjava.net/echoseason/archive/2015/05/11/424996.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 11 May 2015 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/05/11/424996.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/424996.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/05/11/424996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/424996.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/424996.html</trackback:ping><description><![CDATA[<span style="font-size: 12px;"><strong><a href="http://www.finereport.com/knowledge/chart">统计图表</a>FineReport之SQL函数</strong><br /><br /></span><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">有的时候希望某个单元格能够直接获取到数据库中的某个值，而不是先要定义一个数据集后，再去取数据。这时就可以用函数Sql()公式，下面讲解下其用法。</div><a name="a:1." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">1.&nbsp;公式解释</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">SQL(connectionName,sql,columnIndex,rowIndex)：返回的数据是从connectionName数据库中获取的sql语句的表中的第columnIndex列第rowIndex行所对应的元素。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">connectionName：数据库名，字符串形式，需要用引号如"FRDemo"；</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">sql：SQL语句，字符串形式；</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">columnIndex：列序号，整型；</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">rowIndex：行序号，整型。</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="color: red;">备注：行序号可以不写，这样返回值为数据列。</span></div><a name="a:2." style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 16px; color: #383838; line-height: 11px; margin-top: 20px; margin-bottom: 16px;">2.&nbsp;以我们提供的数据源FRDemo为例</div></a><a name="a:2.1" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.1&nbsp;示例（就一般的只获取某个字段内容）</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">从表 STSCORE中，我们可看到第3行第3列的值为Alex，如下：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/31/1/1-1.png" style="padding: 10px 0px 5px;"  alt="" /></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">现在若要直接在报表的单元格中显示数据值：Alex，而不通过先定义一个数据集后，再去取数据的方式，这里就可以使用sql()公式，此时只需在单元格中输入：<span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE",3,3)</span>即可，预览就可看到Alex值。</div><a name="a:2.2" style="font-family: 微软雅黑; font-size: medium; line-height: 22px;"><div style="font-weight: bold; font-size: 15px; color: #383838; margin-top: 11px; margin-bottom: 11px;">2.2&nbsp;示例（带有参数时公式的使用）</div></a><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">带有参数形式的时候，直接在报表的单元格中获取数据值，写法如下：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">显示效果（班级为Class1的第3列所有值），如下：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><img src="http://www.finereporthelp.com/help/13/31/1/1-2.png" style="padding: 10px 0px 5px;"  alt="" /></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">若需要显示某个具体值，如：显示 Jonny 的效果（即班级为Class1的第3列第4行的值），写法如下：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3,4)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">若参数值为变量如为报表参数或者是某个单元格，则写法如下：</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$class+"' ",3,4)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">或</div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+A1+"' ",3,4)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="color: red;">如果传递的参数是获取当前单元格的值，即用$$$作为参数时，字符串类型同样需要拼接单引号，如下：</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="color: red;">注：如果参数或者单元格值有多个，那么sql函数的写法如下：</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;"><span style="font-weight: bold; color: #5f9ea0;">=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO in ('"+$class+"') ",3,4)</span></div><div style="color: #383838; text-indent: 22px; text-align: justify; margin-top: 5px; margin-bottom: 5px; font-family: 微软雅黑; line-height: 22px;">并且class参数返回值的分隔符需为','，具体请查看下拉复选框参数联动。</div><img src ="http://www.blogjava.net/echoseason/aggbug/424996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-05-11 17:17 <a href="http://www.blogjava.net/echoseason/archive/2015/05/11/424996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java表格控件FineReport数据填报功能详述</title><link>http://www.blogjava.net/echoseason/archive/2015/03/30/423946.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 30 Mar 2015 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/03/30/423946.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/423946.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/03/30/423946.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/423946.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/423946.html</trackback:ping><description><![CDATA[<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px"><a style="color: " href="http://www.finereport.com/knowledge/chart"><span style="color: #000000">FineReport</span></a><span style="color: #000000">是一款非常强大的数据展示与数据处理的软件，数据填报功能同样强大。</span><a style="color: " href="http://www.finereport.com/"><span style="color: #000000">java表格控件FineReport</span></a><span style="color: #000000">的数据填</span>报具有多种填报方式，支持多sheet填报，数据来去无关，编辑方式多样，支持零客户端填报以及多级上报。</p>
<h3 style="border-top: 0px; border-right: 0px;background-image: url(http://www.finereport.com/wp-content/themes/BusinessNews/images/list.gif); white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; background-position: 0% 10px; color: rgb(11,80,162); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: bold 20px/40px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 15px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">填报方式多样</h3>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">现今企业通过表单录入时，传统报表已经不能满足需求或者只能满足单方向的录入，因为传统报表的填报没有一个交互的过程。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport的数据展现支持多个不同的数据源，填报也同样支持将同一表中填写的数据提交到多个不同的表或者不同的库，并且支持多源填报报表数据的删除行和添加行（除了普通的单行外，可以选择指定行数或者一整个表单的样式）、支持B/S端自动计算、支持多sheet填报。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">填报的报表模板同样基于格子，那么填报逻辑即将单元格内的数据提交到库，单元格与数据库表之间是自由匹配的关系。在设计填报模板时，并不需要考虑数据库表结构，设计表结构时则可以独立考虑最优的数据存储规则，而不需要去考虑表样。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">单元格与数据库的对应编辑，一般的报表工具提供的都是手工编辑库表与单元格对应关系的方法，而FineReport则采用了高效智能读取字段，智能鼠标选择单元格方式，以便应对大填报表多个单元格需要设置库表匹配关系，如图所示：<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill1.png" width="500" data-bd-imgshare-binded="1" /><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />当单元格中的数据为扩展数据时，也不需要设置多次对应关系，即我们只需要针对模板的设计界面设置一次对应关系，即使单元格扩展出多条记录，还是采用同样的对应关系来提交，这样就可以针对任意复杂样式的填报表，做出灵活的设置。<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />出了一些基本的填报外，FineReport支持如下类型的填报：</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">自由填报<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill2.png" width="500" data-bd-imgshare-binded="1" /><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />行式填报<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill3.jpg" width="500" data-bd-imgshare-binded="1" /><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />多源填报<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill4.png" width="500" data-bd-imgshare-binded="1" /><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />交叉填报<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill5.jpg" width="600" data-bd-imgshare-binded="1" /></p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">企业在制作报表时，经常会出现将多个文件以sheet的方式组合在一起。传统的报表需要对多张独立的报表进行操作，并且最后还要想办法整合在一起，非常麻烦。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport采用Excel的多sheet思想，把多张报表存放在一个模板文件中，这样便能轻松的解决操作多张报表带来的麻烦。<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />FineReport以多sheet的形式组合到在一起，支持Excel多sheet的导入导出，并且方便对多张填报表同时进行编辑、保存数据到数据库或者批量打印等，从而提高工作效率，如图所示：</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px"><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="填报方式" src="http://www.finereport.com/wp-content/uploads/2015/1/reportfill6.jpg" width="600" data-bd-imgshare-binded="1" /></p>
<h3 style="border-top: 0px; border-right: 0px;background-image: url(http://www.finereport.com/wp-content/themes/BusinessNews/images/list.gif); white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; background-position: 0% 10px; color: rgb(11,80,162); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: bold 20px/40px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 15px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">数据来去无关</h3>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport的填报中，数据的来源与去向是分别定义的，因此数据的来源与去向并无必然联系。<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />通常我们用到填报时，特别多级汇总的填报，往往填报模板并非完全一张空白表格等待填写，而是有部分数据从数据库获取，或是对所得数据进行编辑，或是补充部分数据再进行提交。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">例如某企业的填报系统，基层营业处需要填写原始数据，而分公司则需要在基层数据计算的基础再填写部分数据汇总上报到总公司。此时，数据的来源是来自于基层上报的数据库A，而编辑后的数据则存往总公司的数据库B。且来源和去向数据库可能均不止一个，简单的讲就是，就是从表A中取出数据进行修改统计后存入表B中，当然去处可能有多个（来源也可能多个），所以也可以同时写入B1、B2、B3等表。由于FineReport取数和填报均支持多源，因此可以很好的解决这个现实需求。</p>
<h3 style="border-top: 0px; border-right: 0px;background-image: url(http://www.finereport.com/wp-content/themes/BusinessNews/images/list.gif); white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; background-position: 0% 10px; color: rgb(11,80,162); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: bold 20px/40px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 15px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">编辑方式多样</h3>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">虽然说填报最重要的在于填写的数据，但是填写数据的使用易用性以及填写效率也是衡量一个报表填报能力的重要指标。FineReport提供了丰富的单元格编辑风格，不仅为报表设计者节省了大量的编辑风格设计时间，也为最终的填报人提高了工作效率。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport内置的单元格编辑风格包括：文本，数字，日历（日期，时间），下拉框，下拉复选框，下拉树，单选按钮，单选按钮组，复选框，复选框组，按钮，密码，文本域，列表，视图树，表格树，文件上传，多文件上传，网页框等数十种编辑风格。这些已经基本涵盖了常见的填报数据编辑方法，设计者可以根据需要自由设置。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">各个单元格的编辑风格即可以相对独立，也可以相互关联，例如单元格之间的联动，或者格子之间的校验。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">图2.64丰富的填报页面</p>
<h3 style="border-top: 0px; border-right: 0px;background-image: url(http://www.finereport.com/wp-content/themes/BusinessNews/images/list.gif); white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; background-position: 0% 10px; color: rgb(11,80,162); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: bold 20px/40px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 15px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">零客户端填报</h3>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">企业的表单录入经常会受制于部门和地域，FineReport报表支持在线填报，用户不用安装任何客户端就可以通过浏览器进行填报录入的功能，这对企业各个部门之间或不同分公司之间的统一录入做到了完美的支持。</p>
<h3 style="border-top: 0px; border-right: 0px;background-image: url(http://www.finereport.com/wp-content/themes/BusinessNews/images/list.gif); white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; background-position: 0% 10px; color: rgb(11,80,162); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: bold 20px/40px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 15px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 0px; -webkit-text-stroke-width: 0px">多级上报</h3>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">我们在上面也曾提到，填报业务一般经常是多级的，除最底层可能是面对原始空表填写外，其它各级都是将下级的数据进行验证和处理之后再填报给上级，这就是一个简单的工作流。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport的报表功能完全支持这种模式，其应用原理图如图所示:<br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /><img class="centered" style="border-top: 0px; border-right: 0px; border-bottom: 0px; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" alt="多级上报原理" src="http://www.finereport.com/CN/wordpress/wp-content/uploads/2014/10/report1.png" data-bd-imgshare-binded="1" /></p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">FineReport数据上报步骤如下图：</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">数据上报一般有一下几种使用情况：</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">直线上报：是指任务流程单纯的从下级流转到上级直至关闭，一条直线流程。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">联合填报上报：指任务流程在流转过程中，有的节点进行分叉了，一个节点可以有多人操作。</p>
<p style="border-top: 0px; border-right: 0px; white-space: normal; border-bottom: 0px; text-transform: none; word-spacing: 0px; color: rgb(49,49,49); padding-bottom: 0px; text-align: justify; padding-top: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; padding-left: 0px; margin: 0px; border-left: 0px; letter-spacing: normal; padding-right: 0px; background-color: rgb(255,255,255); text-indent: 2em; -webkit-text-stroke-width: 0px">分发逐级上报：是指任务流程在流转的过程中，到达某一个节点的时候，该节点用户新建子任务进行分发，当子任务流转完成后回到该节点，该节点用户进行操作之后，再继续流转主任务。</p><img src ="http://www.blogjava.net/echoseason/aggbug/423946.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-03-30 10:25 <a href="http://www.blogjava.net/echoseason/archive/2015/03/30/423946.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用FineReport报表系统构建ITIL流程系统变更分析</title><link>http://www.blogjava.net/echoseason/archive/2015/03/26/423863.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 26 Mar 2015 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/03/26/423863.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/423863.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/03/26/423863.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/423863.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/423863.html</trackback:ping><description><![CDATA[ <p><strong>注：此文为&#8220;帆软十年，项册征集&#8221;活动的获奖作品。</strong> </p>
<p><strong>一、应用背景 </strong><br />
  随着ITIL的发展和深入，为提高IT服务管理的质量，某银行上线一套符合ITIL的流程工具，其中涉及事件、问题、测试、变更管理等流程，上线后，有效地控制了运营管理中各流程环节的质量，提高了整体效率，为收集和展现电子流程化管理效果，量化考核指标，需提高报表展现效果和报表效率，以前的<a href="http://www.finereport.com/products" title="报表软件">报表软件</a>/<a href="http://www.finereport.com" title="报表软件">java报表插件</a>对excl支持不够，且图形不能导出，而这正是FineReport报表工具的优势。<span id="more-2174"></span></p>
<p> <strong>二、工具 </strong><br />
  FineReport报表工具、某数据库、某流程软件。</p>
<p> <strong>三、需求分析 </strong><br />
  &nbsp;&nbsp;&nbsp; 变更流程管理有效地提高了变更各节点的效率，极大地提高了变更成功率，为考核某银行内各团队变更效率，仅从单一角度（如变更数量）无法考核，需定制特殊考核标准。<br />
  1、变更数量<br />
  2、计划性<br />
  3、质量<br />
  4、复杂性<br />
  对变更从4个维度进行考核，根据一定的标准计算分数，展示一个雷达图，方便从4个维度分析各团队变更得分。<br />
  对变更雷达图进行向下钻取，可看到某一团队得分明细（包括各人员明细）<br />
  图和表的结合让数据的更加直观地展现，数据结构一目了然。</p>
<p> <strong>四、数据分析 </strong><br />
  因对各团队考核评分标准不同（区分厂商和银行内团队），需按照团队和日期维度进行统计。</p>
<p><a title="报表维度统计" href="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e439.jpg"><img class="centered" src="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e439.jpg" alt="报表维度统计" /></a></p>
<p> <strong>五、报表制作 </strong><br />
  因对变更各角度进行分析计算汇总，涉及表单多，数据量大<br />
  ① 若使用通常<a href="http://www.finereport.com/products/functions" title="报表工具">报表工具</a>，面临如下问题<br />
  难点1：每个考核点都对应一张或多张数据库表，制作总表时需要多个数据集，数据集之间的关联难；<br />
  难点2：区分各团队，考评计算不同，通常需分别制作报表展现，工作量大；<br />
  难点3：<a href="http://www.finereport.com" title="报表">报表</a>不能导出图标，且对国内常用的excl支持不足，经常出现多余行、多余列。<br />
  ② 利用FineReport报表工具<br />
  支持<a href="/knowledge/professional/multidata.html" target="_blank" title="多数据源报表" >多数据源报表</a>的制作，轻松实现系统之间的关联；<br />
  支持参数传递，支持数据集参数，实现报表读取高效率；<br />
  仅需1张报表解决所有团队问题。</p>
<p> <strong>六、效果展现 </strong><br />
  团队变更考核展现</p>
<p><a title="报表展现" href="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e440.jpg"><img class="centered" src="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e440.jpg" alt="报表展现" /></a><br />
  点击<a href="/knowledge/chart" target="_blank" title="图表" >图表</a>，自动链接到下面的明细表</p>
<p><a title="明细表" href="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e441.jpg"><img class="centered" src="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/e441.jpg" alt="明细表" /></a></p>
原文转载自：http://www.finereport.com/success/cases/itil.html<img src ="http://www.blogjava.net/echoseason/aggbug/423863.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-03-26 17:46 <a href="http://www.blogjava.net/echoseason/archive/2015/03/26/423863.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>制作数据地图：没有想象中的那么难！</title><link>http://www.blogjava.net/echoseason/archive/2015/03/16/423488.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 16 Mar 2015 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/03/16/423488.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/423488.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/03/16/423488.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/423488.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/423488.html</trackback:ping><description><![CDATA[<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px"><a style="padding-bottom: 0px; margin: 0px; outline-style: none; outline-color: invert; padding-left: 0px; outline-width: medium; padding-right: 0px; color: rgb(137,137,137); text-decoration: none; padding-top: 0px" title="数据地图详解" href="http://www.finereport.com/products/datamap">数据地图</a>是商业分析的高级形式和手段，多见于一些国外高端商业财经杂志。长期以来，很多职场人士都希望能在自己的数据分析和商务演示中使用数据地图这一形式，来提升专业品质和沟通效率。但由于地图素材和制作工具难以获得，普通办公族很难制作自己的地图，只能对国外媒体和报告上的精美地图羡慕不已。</p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">由于一般情况下，数据地图出现位置的特殊性（高大上的高端商业财经杂志），数据地图也就被定位成了一种需要极端复杂的操作步骤和复杂软件才能制作的图表种类。但是事实上，数据地图的制作并不需要十分复杂的操作，也并不需要一个操作复杂的软件&#8212;&#8212;一个带有地图<a style="padding-bottom: 0px; margin: 0px; outline-style: none; outline-color: invert; padding-left: 0px; outline-width: medium; padding-right: 0px; color: rgb(137,137,137); text-decoration: none; padding-top: 0px" href="http://www.finereport.com/knowledge/chart">图表</a>类型的。相比于柱形图、条形图这些最基础的图表，数据地图只是在数据源的设置方面复杂了一些而已。</p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">以FineReport<a style="padding-bottom: 0px; margin: 0px; outline-style: none; outline-color: invert; padding-left: 0px; outline-width: medium; padding-right: 0px; color: rgb(137,137,137); text-decoration: none; padding-top: 0px" title="FineReport报表软件免费下载" href="http://www.finereport.com/products/trial">报表软件</a>为例，一个简单的<a style="padding-bottom: 0px; margin: 0px; outline-style: none; outline-color: invert; padding-left: 0px; outline-width: medium; padding-right: 0px; color: rgb(137,137,137); text-decoration: none; padding-top: 0px" title="数据地图详解" href="http://www.finereport.com/products/datamap">数据地图</a>制作只需要以下几个步骤：</p>
<p style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px" align="center"><strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">新建图表</strong>&#8212;&#8212;<strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">选择地图图表类型</strong>&#8212;&#8212;<strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">定义地图数据源</strong>&#8212;&#8212;<strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">设置地图样式</strong>&#8212;&#8212;<strong style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">复杂交互效果设置</strong>（非必须选项）</p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">如果我们比较熟悉一般图表的制作就会发现，数据地图的制作步骤与一般图表基本一致，至于相对复杂的数据地图数据源设置，其关键在地理信息的输入，在FineReport中，全国的省级地理信息已经在自带数据库中，这就大大减少了数据地图制作工作量。另外，FineReport还提供自定义地图已实现省级以下的数据地图功能，提供gis地图实现更加精确的地理定位。</p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">一般图表的数据源定义与数据地图数据源定义对比:</p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">一般图表的数据源定义：<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /><img style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; border-top: 0px; border-right: 0px; padding-top: 0px" class="centered" src="http://www.finereport.com/wp-content/uploads/2015/1/mapdataknow1.png" width="600" data-bd-imgshare-binded="1"  alt="" /></p>
<p style="border-bottom: 0px; text-align: justify; border-left: 0px; padding-bottom: 0px; text-transform: none; background-color: rgb(255,255,255); text-indent: 2em; margin: 0px; padding-left: 0px; padding-right: 0px; font: 16px/36px Arial, 'Microsoft YaHei', Helvetica, sans-serif; white-space: normal; letter-spacing: normal; color: rgb(49,49,49); border-top: 0px; border-right: 0px; word-spacing: 0px; padding-top: 0px; -webkit-text-stroke-width: 0px">数据地图数据源定义：<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /><img style="border-bottom: 0px; border-left: 0px; padding-bottom: 0px; margin: 0px auto; padding-left: 0px; padding-right: 0px; display: block; border-top: 0px; border-right: 0px; padding-top: 0px" class="centered" src="http://www.finereport.com/wp-content/uploads/2015/1/mapdataknow2.png" data-bd-imgshare-binded="1"  alt="" /></p><img src ="http://www.blogjava.net/echoseason/aggbug/423488.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-03-16 15:32 <a href="http://www.blogjava.net/echoseason/archive/2015/03/16/423488.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>展望2015年大数据：停止空谈 拥抱革命</title><link>http://www.blogjava.net/echoseason/archive/2015/01/08/422136.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 08 Jan 2015 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/01/08/422136.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/422136.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/01/08/422136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/422136.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/422136.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果说过去的一年里，有什么改变了我们的生活，那一定是科技的迅速变革与推动所带来的变化。2014年云计算成为了香饽饽，领域市场大势爆发，众多企业将眼光望向了云服务领域，同时基于云计算技术而发展的大数据技术，从概念阶段逐渐发展成为新数字时代中的核心技术。</p>
<p>　　美国著名咨询公司麦肯锡对大数据的定义，是指大小超出常规的数据库工具获取、存储、管理和分析能力的数据集。国际数据公司IDC根据大数据的四个特征，定义其为海量的数据规模(Volume)、快速的数据流转和动态的数据体系(Velocity)、多样的数据类型(Variety)、巨大的数据价值(Value)。</p>
<p>　　在过去的一年，大数据以惊人的速度从理论迈向应用，成功的推动了各个领域的产业变化与行业融合，当前的现状与未来发展，值得所有行业深刻认识并重视。</p>
<p>2014年大数据应用遍地开花</p>
<p>　　过去的一年，大数据技术几乎渗透了各个领域的各个行业。</p>
<p>　　全球关注的2014年巴西世界杯赛事期间，谷歌云计算平台通过大数据技术分析，成功预测了世界杯16强每场比赛的胜利者，而冠军队德国国家队宣布，他们运用了SAPMatchInsights解决方案进行赛后分析，大数据技术成为获胜的关键;8月，联合国开发计划署与百度达成战略合作，共建大数据联合实验室，利用大数据技术针对环保、健康、教育和灾害等全球性问题进行分析和趋势预测，提供发展策略建议;12月，淘宝公布的《2014年淘宝联动知识产权局打假报告》显示，阿里巴巴通过大量数据分析追查打击假货源，2010年至今已处理各类专利侵权投诉案件3000余件。同时，苹果&#8220;预留后门&#8221;和12306用户信息泄露等事件，也暴露出大数据迅猛发展的同时，数据安全存在很大的隐患。</p>
<p>　　去年6月，中国科学院大学首次召开了&#8220;大数据技术与应用&#8221;方向人才培养研讨会，提出人才培养与科研优势结合培养复合型大数据人才，将中国大数据人才教育提上议程，推动相关人才培养，足见未来我国大数据市场的前景广阔。</p>
<p>大数据行业应用愈发完善</p>
<p>　　在云计算爆发推助智能科技加速发展的一年，2014年大数据产业从理论到应用向前迈进了大大的一步。</p>
<p>　　2014年12月，中关村大数据产业联盟与中国计算机协会共同发布了 《中国大数据白皮书》，第一次全面深入且系统完整的从我国大数据的产业与学术的大方向，就国家主权、政府政策、产业发展、数据科学、投资理念、公司战略等分析了我国大数据市场当前以及未来发展现状，这是我国大数据行业逐步迈向产业系统化的重要一步。</p>
<p>　　速途网记者采访了中关村大数据产业联盟秘书长赵国栋，他表示今年众多行业的众多企业从根本上对大数据的认知与需求有了变化，百度、腾讯等互联网巨头公司对数据的重视程度超乎想象，中小企业也随着大潮流的步伐体会到了大数据所带来的产业变化。</p>
<p>　　赵国栋提出，在随之而来的大数据时代，三大发展理论能够概述2014年大数据的发展：第一，从微观层面上来看，企业战略思想发生了根本变化，以数据资产为核心来重新审视公司的价值也未来走向;第二，从中观层面来看，区域经济发展中产业高度融合，大数据成为了经济发展的新动力;第三，以中间市场为特征的组织变革，推动了产业生态紧密融合。大数据这些层面的发展理论，将演变成新的大数据商学体系。</p>
<p>大数据思潮推动产业全面落地</p>
<p>　　虽然大数据市场相比前年有了跨越性的发展，然而当前的现状却依然处在初步阶段，除了IT互联网类的大型企业深刻认识并重视研发应用，其他行业的中小企业乃至普罗大众对大数据概念的认识还很微弱，甚至存在误读误解。</p>
<p>　　赵国栋向记者介绍，大数据是新兴技术发展到一定阶段后，产生一系列社会现象，这是与各行各业都紧密融合的新思潮，是经济发展的新现象，更是推动经济发展的新动力，但社会各阶层对大数据的认知不均，将有可能影响到其市场发展。</p>
<p>　　另一方面，大数据新兴技术脱离了软件与硬件，将数据进化成独立的发展产业，推助了更多领域的发展。例如正在热议互联网银行，腾讯微众银行的运营系统就是完全依托大数据而成的，从试运营期间的客户选择，到客户的经济社交、信用度与贷款额度，完全通过大数据进行分析和信息筛选，最后得出准确的征信报告。其次，各个城市政府正在大力推行的智慧医疗、智慧交通与智慧教育，都依托于大数据技术的基础而建设。</p>
<p>　　2015年，大数据独立的发展将形成特有的市场化于规模化，全面落地的技术建设，从产业到行业的成熟，将推动更多传统企业向科技智能化转型，也将推动更多新产业和市场的爆发。</p><img src ="http://www.blogjava.net/echoseason/aggbug/422136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-01-08 17:08 <a href="http://www.blogjava.net/echoseason/archive/2015/01/08/422136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>预测2015：智能大数据分析成热点</title><link>http://www.blogjava.net/echoseason/archive/2015/01/05/422053.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 05 Jan 2015 03:44:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/01/05/422053.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/422053.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/01/05/422053.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/422053.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/422053.html</trackback:ping><description><![CDATA[<div>&nbsp; &nbsp; &nbsp;2012年，&#8220;大数据&#8221;一词开始大热。两年来，已经在商业、工业、交通、医疗、社会管理等多方面有了应用，在今年的第二届大数据技术大会上，已经少有人讲重要性，更多是应用、技术以及最底层的算法。</div><div>　　&#8220;现在对大数据来讲就是两个字 落地 ，我们开会请一些专家讲大数据多么重要，没有什么意义，各个省市的领导都讲大数据，这已经不是新的东西。&#8221;中国工程院院士李国杰在2014中国大数据技术大会上首个发言，直接点题：&#8220;产业界很重要的一件事情是怎么样把大数据用来提高我们国家我们政府治理能力现代化，这个不亚于提高GDP。&#8221;</div><div>　　李国杰认为，在应用上，云计算、3D打印技术从技术出现到产业化可能是2到5年，但大数据会更长些，从实践转换成主流产业可能需要5~10年。以前我们的经济增长主要靠资源和汗水，而下一步的经济发展要靠智力创新，要以大数据的应用来以减少能耗，降低环境污染。</div><div>　　2012年，&#8220;大数据&#8221;一词开始大热。两年来，已经在商业、工业、交通、医疗、社会管理等多方面有了应用，在今年的第二届大数据技术大会上，已经少有人讲重要性，更多是应用、技术以及最底层的算法。</div><div>　　中科院计算所研究员、中国计算机学会大数据专家委员会秘书长程学旗发表了大数据白皮书与发展趋势报告。这份报告由中国计算机学会大数据专家委员会和中关村大数据产业联盟组织撰写，用时大半年。</div><div>　　对2015年大数据发展预测，共有10个方面。首先就是结合智能计算的大数据分析成为热点，包括大数据与神经计算、深度学习、语义计算以及人工智能其他相关技术结合，成为大数据分析领域的热点。</div><div>　　第二点是数据科学将带动多学科融合，但是数据科学作为新兴的学科，其学科基础问题体系尚不明朗，数据科学自身的发展尚未成体系。</div><div>　　第三是跨学科领域交叉的数据融合分析与应用将成为今后大数据分析应用发展的重大趋势。大数据技术发展的目标是应用落地，因此大数据研究不能仅仅局限于计算技术本身。</div><div>　　大数据将与物联网、移动互联、云计算、社会计算等热点技术领域相互交叉融合，产生很多综合性应用。近年来计算机和信息技术发展的趋势是，前端更前伸，后端更强大。物联网与移动计算加强了与物理世界和人的融合，大数据和云计算加强了后端的数据存储管理和计算能力。今后，这几个热点技术领域将相互交叉融合，产生很多综合性应用。</div><div>　　此外，十大趋势还包括：大数据多样化处理模式与软硬件基础设施逐步夯实;大数据的安全和隐私问题持续令人担忧;新的计算模式将取得突破;各种可视化技术和工具提升大数据分析;大数据技术课程体系建设和人才培养是需要高度关注的问题;开源系统将成为大数据领域的主流技术和系统选择。</div>&nbsp; &nbsp; &nbsp; 程学旗用&#8220;融合、跨界、基础、突破&#8221;来总结这十大趋势。他进一步解释，融合是说在产业里面，比如说在垂直行业的融合，在企业里面垂直融合，应用融合、技术融合等;跨界，基于大数据使不同学科不同应用领域跨界;基础，就是说我们大数据发展亟待在一些基础方面进一步地夯实，2014年比2013年基础更强，我们期待2015年基础进一步的夯实，包括生态环境，包括大数据资源的共享;突破，我们会在预测在2015年在一些大数据的分析，大数据的一些系统方面能够取得相关性的突破。<div>　　对于大数据研究的难点，很多人把数据公开列在第一位。对此，李国杰认为&#8220;共享&#8221;更准确一些。对于政府部门的难点在于公开的尺度，另外是否有能力把数据用好。而指望商业公司拿出数据，不现实，因为这些数据的获得是商业公司的投入。</div><div>　　但对于这种说法，一些人并不认同。中国人民大学教授信息学院院长杜小勇教授认为，现在高校和研究机构拿到数据不是问题，关键是企业提出解决不了的问题，把数据拿出来，求助于研究者，研究者是否能够有效解决。就像大数据比赛，让企业出的题目才会是真正的问题。</div><div>　　另外，大数据人才也是一个重要问题。现在的问题是既对行业熟悉，又能融合创新的顶类人才稀少。李国杰强调一点，&#8220;现在要让企业和研究者明白一点，数据不是在谁手中，谁就有优势，而是要大家一起研究，融合跨界研究，数据才会产生财富。&#8221;</div><img src ="http://www.blogjava.net/echoseason/aggbug/422053.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-01-05 11:44 <a href="http://www.blogjava.net/echoseason/archive/2015/01/05/422053.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实用的大数据安全工具与技巧合集</title><link>http://www.blogjava.net/echoseason/archive/2015/01/04/422022.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Sun, 04 Jan 2015 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2015/01/04/422022.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/422022.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2015/01/04/422022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/422022.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/422022.html</trackback:ping><description><![CDATA[<div>&nbsp; &nbsp; &nbsp; 大数据应用的安全性方面往往被忽视或者被视为次要的需求。但是，数据的安全性在数据处理过程有着十分巨大的影响。本文将介绍一些保护大数据应用的步骤和工具。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;随着大数据在不同的领域蔓延，安全方面受到越来越多的关注。以前，我们使用具有中心控制的安全系统，但这并不足以保护你的应用程序免受入侵。大数据带来了另外一些安全关切问题，与正常的应用程序有很大不同。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;在当今世界，安全性相关的探索非常困难,前进方向也难以界定。整个软件系统中实现合适的端至端安全系统是非常昂贵的。总有一个突破安全防护的可能性存在， 无论你遵循什么样的政策或制度都是一样。企业进行大数据项目时应制定相应的计划，根据自己的预算和政策，采用最现代化新式安全措施。</div><div></div><div><strong>&nbsp; &nbsp; &nbsp; &nbsp;在大数据环境中的安全风险</strong></div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;大数据时代出现了数据量，数据速率和数据种类的显著增长，另外云计算模式下，移动应用程序和其他应用程序接连增长。通过不同的系统、应用和环境，数据从一 端流向另一端。这种数据爆炸对业务发展洞察力提供了有意义帮助，但它也把商业数据暴露给了各种系统，流程和相关人员。由于庞大的数据量在不同的协作系统进 行存储，处理，分析，总会存在安全漏洞。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;大数据从不同的源和不同类型的商业智能工具采集出来以用于分析，并获得有意义的信息。该信息被决策者访问和使用。有时候数据也可用于协作。用于协作和处理 的工具也有安全性限制。所以，总有暴露敏感数据/内容的概率。一旦大数据的值元素被确定，它就可以被访问，更新或甚至由用户改变。这可能会导致对企业造成 严重的安全问题和威胁。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;先进的安全措施，可以确保在协作环境中的信息安全。涉及大数据的企业需要在控制和平衡业务需求与数据安全防护之间做到更加精确。以下是关于保护数据的一些建议：</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;将大数据分割成小数据：以这种方式，系统将能够更好地处理数据的数量，速度和种类。其结果，企业也将能够更快和更准确进行商业决策。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;识别信息的适用范围：企业需要识别参与此次合作的员工，合作伙伴，供应商，或任何其他第三方，另外也要识别沟通渠道。这有助于给出关于合作环境和利益相关者的详细思路。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;部署数据控制：数据<a href="http://www.finereport.com/knowledge/professional/activex.html">报表控件</a>都部署在非常重要战略位置。这将确保数据的保护与协作。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;在云计算和移动环境的控制部署：云和移动合作是任何应用程序及其部署的重要组成部分，也是风险最高的区域之一。企业需要了解和识别数据是如何在云计算和移动环境中实现共享。</div><div></div><div><strong>&nbsp; &nbsp; &nbsp; &nbsp;大数据安全工具</strong></div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;在过去几年中，大多数企业采用单一的软件供应商和单个数据库(SAP，Oracle ，PeopleSoft等)为整个企业服务。其结果是，安全性问题更加明显并易于管理。但在目前情况下，我们有大数据，云计算，移动设备等等，系统中的安 全漏洞的数量是未知的，并且安全漏洞的可能性要高得多。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;在最近的信息安全发展中，也有许多软件包和供应商可用于加强信息安全实践。对于大数据边界安全策略与其他系统类似，所以在这部分中，我们将只讨论'处于网络内部&#8220; 的工具。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;监控和记录：监视和记录一切是检测未授权活动的最佳策略。一些日志系统，如系统日志(Linux)，事件日志(Windows)可以被有效地利用。 SNMP对记录网络事件非常有用。也有可供日志汇总不同的软件包，并将其存储在一个中央位置进行分析。这些被称为安全信息和事件管理软件(SIEM)包。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;分析和审计：SIEM包的主要功能是自动检测未经授权的活动，并产生警告。但是，所有SIEM软件需要配置才能正常工作。建议使用预配置SIEM包并时常 更新他们，这样能够通过日志分析，找出安全漏洞。最新的SIEM包LogRhythm，Q1实验室(IBM)，McAfee的Splunk等。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;身份管理：身份和访问管理(IAM)对于大数据保护来说是非常重要的，。因为数据是通过使用不同的信道被员工/承包商访问，这些信道包括移动设 备，SAAS模式，或其他服务。身份可以确定是谁正在对敏感数据进行访问，考虑&#8220;身份&#8221;作为新的安全尺度是非常重要的，不应只是专注于敏感数据的物理位 置。身份管理是绝对有必要考虑的工具集合，将有助于我们应对周边发生的故障。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;掩蔽数据：数据掩蔽是保护数据安全的另一种方式。这些数据可以通过加密或断词被屏蔽。一些厂商还要求他们的数据屏蔽工具不遵循加密和标记化，但能够动态地执行整个屏蔽。</div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;应用安全：最后一步是确保访问敏感信息的大数据应用安全性。这是非常关键的，因为大部分流行工具构建时并没有考虑安全因素。最近，大多数的大数据工具在安 全方面有了显著改善。最重要的两个因素是&#8220;权限粒度级别'和'数据加密&#8221;。Hadoop的最新版本将支持新的安全功能，可能解决这些新出现的问题。</div><div></div><div><strong>&nbsp; &nbsp; &nbsp; &nbsp;总结</strong></div><div></div><div>&nbsp; &nbsp; &nbsp; &nbsp;在当今世界，大数据安全是个大问题。正如我们所知道的大数据系统并不像普通单一的供应商系统，因此安全问题的处理更加复杂。没有单一的解决方案/工具/供 应商可以保护您的数据，但是你可能需要使用不同的安全工具，这取决于需要保护的区域所处位置。因此，最终的解决办法是继续使用多种有效的工具，随着时间的 推移。最后，你应该会具有一个良好的，全面的安全系统。</div><img src ="http://www.blogjava.net/echoseason/aggbug/422022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2015-01-04 14:26 <a href="http://www.blogjava.net/echoseason/archive/2015/01/04/422022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一篇文章看懂图数据挖掘</title><link>http://www.blogjava.net/echoseason/archive/2014/12/29/421911.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Mon, 29 Dec 2014 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/29/421911.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421911.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/29/421911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421911.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421911.html</trackback:ping><description><![CDATA[<div>互联网发展至今，数据规模越来越大，数据结构越来越复杂，而且对系统的需求越来越高。如果学习过数据结构，那么都知道图是放在最后一个结构，当你学习了图，那么应该感知到前面的链表，队列，树都是在图上面加了一些约束而派生出来的结构。所以图是一个一般性的结构，可以适应于任何结构类型的数据。那么图数据挖掘是干什么的呢?难道是开着挖掘机来进行挖掘?还是扛着锄头?下面讲讲什么是图数据挖掘。</div><div></div><div><img src="http://www.199it.com/wp-content/uploads/2014/08/3173-600x425.jpg" width="600" height="425" alt="" /></div><div></div><div><strong>一、什么是图数据挖掘</strong></div><div></div><div>这个话题感觉比较沉重，以至于我敲打每个字都要犹豫半天，这里我说说我对图数据挖掘的理解。数据是一个不可数名字，那么说明数据是一个没有边界的东西。而挖掘是一个很形象化的动词，一般意义上，挖掘是挖掘出对我们有用的东西，不然也不会闲着没事刨个坑把自己放进去，肯定是里面有宝贝，我们才挖掘。那么不难理解，数据挖掘就是挖掘数据里面的&#8220;宝贝&#8221;，图数据挖掘，就是以图的结构来存储、展示、思考数据，以达到挖掘出其中的&#8220;宝贝&#8221;。那这个&#8220;宝贝&#8221;是什么?这个有点主观意识来理解了，&#8220;宝贝&#8221;这个词本身就带有主观色彩，而没有一个客观的答案，不像是美女大胸、翘臀、高挑、皮肤白皙、脸蛋好看等一系列标准。那么如何理解图数据里面的&#8220;宝贝&#8221;呢?举个例子吧，例如：当今互联网产生了很多社交数据，某某关注了某某，那么某某和某某就有了关系，某某评论过某某，那么这又产生了关系，在这个里面某某就是图中的节点，而评论过，关注了则是节点之间的关系，如果某某再多点，这就形成了一个无边界的图了。那么对这个图进行关系挖掘，那么会产生很多有用的数据，比如可以推荐你可能认识的人，那就是朋友的朋友，甚至更深，这就形成了某空间好友推荐的功能。比如某宝的你可能喜欢的宝贝，可以通过图数据挖掘来实现。这就是我认为的图数据挖掘。</div><div></div><div>从学术上讲，图数据挖掘分为数据图，模式图两种。至于这两个类型的区别，由于很久没有关注这块，所以只能给出一个字面意义上的区别。数据图：则是以数据节点为基础来进行分析图，模式图：则是以数据整个关系模型来进行分析数据。可能解释存在错误，望指正。我之前主要是接触数据图一块的东西，模式图没有太多了解。关于数据图和模式图在学术界存在几个比较有参考意义的实现以及算法。数据图有：BANKS,BLINKS,Object rank;模式图有：DBXplorer(微软),DISCOVER(加利福尼亚大学)，S-CBR(人民大学，就是在大学学数据库都会知道的人：王珊)。下面主要对数据图的几种实现进行简单介绍，模式图，可以找上面相关论文进行了解。</div><div></div><div><strong>二、数据图典型实现介绍</strong></div><div><strong><br /></strong></div><div><strong>1、BANK</strong></div><div></div><div>整体上说一下它的思想是通过关系数据库进行存储图结构的数据加上Dijkstra算法来进行数据的存储和图数据的搜索。该算法第一步先是先是匹配所有关键词的关键节点，并且以每个关键节点为源节点进行一次Dijkstra算法对图进行遍历，因此可以形成和每个关键节点可达的节点堆，该堆是进行了按照到关键节点距离进行堆排序的堆。因此可以想想每个关键节点的节点堆的第一个元素则是到该关键节点最近的节点。利用这个，那么对每个节点堆一次遍历，每次遍历只取堆的第一个节点，可以得知，这个取出的节点和节点对对应的关键词是可达的，如果这个节点和所有关键节点可达，那么就可以这个节点为根节点形成一个结果树，所以需要对这个取出的节点进行标记，标记的目的就是说我这个关键节点来过这里了(有点类似到此一游的感觉)。这就是BANK的大体上的算法思想。下面提出一个流程图，帮助大家理解一下。</div><div></div><div><img src="http://www.199it.com/wp-content/uploads/2014/08/1_011-600x276.jpg" width="600" height="276" alt="" /><br /><img src="http://www.199it.com/wp-content/uploads/2014/08/1_021-600x275.jpg" alt="" /><br /><img src="http://www.199it.com/wp-content/uploads/2014/08/1_031-600x276.jpg" width="600" height="276" alt="" /></div><div></div><div>这种方式存在几个缺点：由于它的这个算法是需要把整个图结构加载到内存中，所以当节点数一大，那么可能会收到内存的限制。第二个缺点是，它的搜索是单向的，这样在效率上面存在一定的缺陷。这个算法也是我研究图数据挖掘主要研究的对象，因为比较简单，容易理解。下面针对上面两个缺陷介绍另外两个算法。</div><div></div><div><strong>2、算法</strong></div><div></div><div>这个算法则是在第一个基础上面进行了扩展，支持双向搜索。从而解决了上麦年的第二个缺陷。具体算法实现，很久没接触了，而且当时也没关注这方面的实现，所以我也不是很清楚，只是知道它实现了双向遍历。具体的可以点击标题，看它的论文。</div><div></div><div><strong>3、BLINK</strong></div><div></div><div>这个实现是解决了大图问题，通过对图进行分割，形成超图的概念，加载内存只需要把超图进来，当需要遍历这个超图节点的时候，再将超图节点里面的明细节点加载到内存，基于这个概念可以很好的解决节点数量大而受内存的限制，这个算法有点类似地图的放大镜，当需要展示某一块(超图节点)的时候，则加载当前块的内容，用户就会看到更加明细的地图信息。具体算法，可以点击标题，看看它的论文。</div><div><br /><div><span style="font-size: 10pt;">既然说道图，那么不得不提一下在图数据库方面最流行的neo4j.neo4j是在09年过年的时候接触的，当时是调研以何种方式来存储图数据，所以当时弄了一下，后没就没关注了。当时看neo4j真的很小，不像现在这么成熟。</span><br /></div></div><div><strong>三、NEO4J预览</strong></div><div></div><div>在NEO4J官方文档里面会看到下面几点介绍图数据库。</div><div></div><div>&#8220;A Graph &#8212;records data in&#8594; Nodes &#8212;which have&#8594; Properties&#8221;</div><div></div><div></div><img src="http://www.199it.com/wp-content/uploads/2014/08/180.jpg" alt="" /><div></div><div>上面很简单明了的介绍了图是什么，图是以节点存储记录数据，而节点数据是以属性形式关联节点。</div><div></div><div>&#8220;Nodes &#8212;are organized by&#8594; Relationships &#8212;which also have&#8594; Properties&#8221;</div><div></div><div>这句话说明了关系在图中的作用，可以理解节点是通过关系来进行组织和管理，并且关系也可以包裹属性信息。</div><div></div><div>&#8220;Nodes &#8212;are grouped by&#8594; Labels &#8212;into&#8594; Sets&#8221;</div><div></div><div>在图中标签的作用就是对节点进行分组，并且同一个标签的节点会放到一个集合中，这个有点类似上面说的对图进行分割。比如：给节点贴上一个&#8220;人&#8221;的标签，那么当对图进行搜索的时候，当指定&#8220;人&#8221;这个标签的时候，那么只会找到所有人的节点，而不会找到猫，狗等节点。这样可以提高图的遍历速度，而且可以更好的管理图的节点。</div><div></div><div>&#8220;A Traversal &#8212;navigates&#8594; a Graph; it &#8212;identifies&#8594; Paths &#8212;which order&#8594; Nodes&#8221;</div><div></div><div><img src="http://www.199it.com/wp-content/uploads/2014/08/189-600x384.jpg" width="600" height="384" alt="" /><br />一个路径的遍历，它可以正确的导航整个图的结构遍历，并且它可以对应一系列路径，这些路径则是将所有节点串联起来。这个解释了搜索在图中的定位，一条搜索可以对应多条路径，也就是多条结果，而每个结果包含一系列节点。</div><div></div><div>&#8220;An Index &#8212;maps from&#8594; Properties &#8212;to either&#8594; Nodes or Relationships&#8221;</div><div></div><div><img src="http://www.199it.com/wp-content/uploads/2014/08/190.jpg" width="542" height="411" alt="" /></div><div></div><div>图中的建立索引的数据来自于节点和关系的属性，并且索引会直接映射到节点和关系。这样可以通过索引遍历图中的节点和关系，以得到结果。</div><div></div><div>&#8220;A Graph Database &#8212;manages a&#8594; Graph and &#8212;also manages related&#8594; Indexes&#8221;</div><div></div><div><img src="http://www.199it.com/wp-content/uploads/2014/08/198-491x429.jpg" alt="" /></div><div></div><div>这里明确的表示了图数据是干什么的，同时也表达了NEO4J是干什么的。他是管理和维护图数据CRUD，并且维护图数据的索引建立和更新。是对图数据操作的一个对外接口。</div><img src ="http://www.blogjava.net/echoseason/aggbug/421911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-29 11:53 <a href="http://www.blogjava.net/echoseason/archive/2014/12/29/421911.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据可视化交互布局</title><link>http://www.blogjava.net/echoseason/archive/2014/12/26/421849.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Fri, 26 Dec 2014 05:49:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/26/421849.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421849.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/26/421849.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421849.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421849.html</trackback:ping><description><![CDATA[<p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">每一天从我们睁眼开始，我们就开始不断地接收着这个世界传递给我们的各种信息，海量的信息不断地充斥着我们的眼球、大脑。如此庞大的信息库，我们平时都在看什么呢？不知道各位有没有这样的经历，走在大街上，你最容易被什么样的人群所吸引呢？毋庸置疑，必然是精心打扮的女生！</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">接下来我们来看个&#8220;栗子&#8221;，逛超市的时候，满是商品的货架上，如图</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/07ac_20130812181743481.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="1" src="http://www.199it.com/wp-content/uploads/2013/09/f71d_20130812181743481-590x2721.png" width="590" height="272" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">你会关注哪个商品呢？我相信，我们的大脑永远在选择最简单、最直接的、最特别的呈现形式的事物，因为这些信息不需要经过大脑的转换，够直观！不知道各位，小时候有没有看过寓言故事类型的连环画，那些可爱的卡通人物，场景，完全直观地活灵活现地展示了一个个场景在眼前，我们完全沉醉于其中，这都说明，人的大脑喜欢直接的信息传递。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">今天的我们生存在一个大数据的时代，密密麻麻的数字，庞大的数据库，充斥了我们的大脑，请问各位还会有兴趣去挖掘这些数据里潜在的秘密吗？我猜应该没有吧！大家的时间太宝贵了，于是有了数据可视化，数据可视化的使命跟职责就是通过<a href="http://www.finereport.com/products/functions#chart-function">图表软件</a>将数据可视化，让我们能从可视化的图标里看到数据的关系，本质，趋势。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">数据可视化就是通过可视化手段将枯燥的数据图形化，直观化展示给用户。</strong></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">明白了数据可视化的使命，让我们来看看当前业界的可视化平台都是如何树立自己品牌形象且抓住用户去使用这个平台的呢？</p><h2><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">1.&#8220;数据可视化&#8221;交互布局</strong></h2><ul style="margin: 0px 0px 1.5em 2em; padding: 0px; border: 0px; vertical-align: baseline; list-style: square; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff;"><li style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;"><h3>首页&#8212;&#8212;上下结构布局</h3></li></ul><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/d11b_201308121728234.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="26" src="http://www.199it.com/wp-content/uploads/2013/09/bc5e_201308121728234-590x3741.png" width="590" height="374" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">通过目前线上比较知名的国内外数据分析平台首页设计，不难发现，其首页的架构分为上下布局，更多的是通过Banner图来展示自己的特性，其次再通过一个个案例来进行事例说明，或者摆出各种合作伙伴Logo来提升自我品牌形象。首页的轮播Banner图通常起到的作用是介绍该平台的数据分析的特点，通常通过这几个方面来展示Banner图，数据的呈现的速度、数据容量、用户体验、服务品质、分析的维度、多种自定义设置配置&#8212;&#8212;人性化设置，其次首页也不可缺少的就是&#8220;新手指引&#8221;。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/6480_20130723154948940.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="3" src="http://www.199it.com/wp-content/uploads/2013/09/daae_20130723154948940-590x3871.png" width="590" height="387" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/3133_20130723154949741.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="4" src="http://www.199it.com/wp-content/uploads/2013/09/1822_20130723154949741-590x3911.png" width="590" height="391" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/e75f_20130723154950803.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="5" src="http://www.199it.com/wp-content/uploads/2013/09/849a_20130723154950803-590x3901.png" width="590" height="390" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">&nbsp;</p><ul style="margin: 0px 0px 1.5em 2em; padding: 0px; border: 0px; vertical-align: baseline; list-style: square; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff;"><li style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;"><h3>内页&#8212;&#8212;结构布局</h3></li></ul><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">根据多个案例分析，视觉可视化的交互基本分为两类：</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">下图属于信息层级关系很明确，不是直观展示数据，缺点：数据隐藏很深，很难让用户产生兴趣继续查看；优点：可承载数据量大。<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/e14b_20130812172823877.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="27" src="http://www.199it.com/wp-content/uploads/2013/09/028e_20130812172823877-590x3801.png" width="590" height="380" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">下图属于信息扁平化呈现，数据展示直观，缺点：承载数据量少；优点：数据展示直观，用户容易在查看的过程中挖掘自己的兴趣点。<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/a375_20130812172822357.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="25" src="http://www.199it.com/wp-content/uploads/2013/09/f529_20130812172822357-590x4001.png" width="590" height="400" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><h2><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">2.&#8220;数据可视化&#8221;设计元素</strong></h2><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">认知心理学和图形设计</strong><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;"></strong></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">信息可视化的两大基础是认知心理学和图形设计，认知心理学是理论基础，图形设计是实践操作。可视化不仅仅是视觉上的，该领域的研究人员也尝试着将听觉、嗅觉和触觉融合进去（比如针对残障人士的设计）。在《信息可视化的基本过程和与主要研究领域》一文中，作者将视觉上的可视化变量分为 7 种：位置、形状、大小、方向、色彩、纹理、灰度，有时候也会将色彩分为色相、亮度和饱和度。基本上所有的信息可视化应用都是一个或多个变量的组合。不同的视觉变量在呈现数据各有优劣（从认知角度），如下表所示：</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><em style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;">&#8212;&#8212;文案内容摘自百度百科知道</em></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/82b1_20130812172821730.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="24" src="http://www.199it.com/wp-content/uploads/2013/09/e0f9_20130812172821730-590x270.png" width="590" height="270" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><ul style="margin: 0px 0px 1.5em 2em; padding: 0px; border: 0px; vertical-align: baseline; list-style: square; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff;"><li style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;"><h3>数据可视化&#8212;&#8212;呈现形式</h3></li></ul><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">通常目前数据可视化的表现形式，我们最熟悉的有饼图、直方图、散点图、柱状图，而这些都是最原始的统计图表。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">饼状图</strong><br />用圆内各个扇形的大小表示各部分量占总量的百分之几<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/7d15_20130723155510601.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="6" src="http://www.199it.com/wp-content/uploads/2013/09/b58a_20130723155510601-590x167.png" width="590" height="167" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">直方图</strong><br />将一个变量的不同等级的相对频数用矩形块标绘的图表(每一矩形的面积对应于频数)<br /><a href="http://www.199it.com/wp-content/uploads/2013/09/a9e1_20130723155511183.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="7" src="http://www.199it.com/wp-content/uploads/2013/09/a9e1_20130723155511183.png" width="470" height="431" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">柱状图</strong><br />是一种以长方形的长度为变量的表达图形的统计报告图，由一系列高度不等的纵向条纹表示数据分布的情况，用来比较两个或以上的价值（不同时间或者不同条件），只有一个变量，通常利用于较小的数据集分析<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/1ef4_20130723155511640.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="8" src="http://www.199it.com/wp-content/uploads/2013/09/6b98_20130723155511640-590x409.png" width="590" height="409" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">散点图</strong><br />用两组数据构成多个坐标点，考察坐标点的分布，判断两变量之间是否存在某种关联或总结坐标点的分布模式<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/44cb_20130723155512256.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="9" src="http://www.199it.com/wp-content/uploads/2013/09/381e_20130723155512256-590x238.png" width="590" height="238" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">&nbsp;</p><ul style="margin: 0px 0px 1.5em 2em; padding: 0px; border: 0px; vertical-align: baseline; list-style: square; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff;"><li style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;"><h3>数据可视化&#8212;&#8212;呈现方法</h3></li></ul><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">a.&nbsp;将指标值图形化</strong><br />一个指标就是一个数据，将数据的大小以图形的方式呈现。比如用柱状图的长度或高度表现数据大小。<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/68d4_20130812173540860.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="10" src="http://www.199it.com/wp-content/uploads/2013/09/147c_20130812173540860-590x272.png" width="590" height="272" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">b.&nbsp;将指标图形化</strong><br />一般用与指标含义相近的ICON来表现<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/0d50_20130812173040784.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="11" src="http://www.199it.com/wp-content/uploads/2013/09/cd16_20130812173040784-590x272.png" width="590" height="272" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">c.&nbsp;将指标关系图形化</strong><br />当存在多个指标时，挖掘指标之间的关系，并将其图形化表达，可提升图表的可视化深度。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">借助已有的场景来表现<br />联想自然界或者社会现象里有无与指标关系类似的，然后借助此场景来表现数据。比如下图，是统计全球使用操作系统分布图，首先分为windows、mac还有其他操作系统，windows又包含XP、2003等多种子系统。<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/105f_20130812173622855.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="12" src="http://www.199it.com/wp-content/uploads/2013/09/adca_20130812173622855-590x272.png" width="590" height="272" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">构建场景来表现<br />指标之间往往具有一些关联特征，如从简单到复杂，从低级到高级，从前到后等，如无法找到相对应的场景，也可以自己构建。支付宝新出的个人年度账单中，在描述付款最多的三项时，构建了一个领奖台的形式：<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/6a0f_20130812172819122.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="13" src="http://www.199it.com/wp-content/uploads/2013/09/ba9f_20130812172819122-590x272.png" width="590" height="272" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">d.&nbsp;将时间和空间可视化</strong><br />时间：通过时间的维度来查看指标值的变化情况，一般通过增加时间轴的形式，地图作为主要背景呈现所有信息点<br />空间：当图表存在地域信息并且需要突出的表现的时候，可用地图将空间可视化，地图作为主背景呈现所有信息点<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/2546_20130812174155107.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="28" src="http://www.199it.com/wp-content/uploads/2013/09/f82f_20130812174155107-590x421.png" width="590" height="421" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">e.&nbsp;将数据进行概念转换</strong><br />所谓的数据概念转换，即我们生活中喝水的时候通常只会说喝一杯水，但不会说喝30ML的水，一个确实的数据展示，我们是难以感知的，但是用一个杯子来概念转换，我们很容易感知到其大小。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">如果只看左半部分中国烟民的数量：32000000，知道数据量级很大，但具体有多大却很难感知；直到看到右半部分：中国烟民数量超过了美国人口总和，这样一对比，对数据的感知就加深了。<br /><a href="http://www.199it.com/wp-content/uploads/2013/09/9e25_20130812182559497.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="27-(2)" src="http://www.199it.com/wp-content/uploads/2013/09/9e25_20130812182559497.png" width="559" height="666" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;"><strong style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; color: inherit;">f.&nbsp;让&#8220;图表&#8221;动起来</strong><br />数据图形化完成后，可结合实际情况，将其变为动态化和可操控性的图表，用户在操控过程中能更好地感知数据的变化过程，提升体验。实现动态化通常以下两种方式：&nbsp;交互和动画。</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">小结：</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">数据可视化的可以分为以下几个步骤：<br /><a href="http://www.199it.com/wp-content/uploads/2013/09/3029_20130812182712247.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="16" src="http://www.199it.com/wp-content/uploads/2013/09/3029_20130812182712247.png" width="590" height="722" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><ul style="margin: 0px 0px 1.5em 2em; padding: 0px; border: 0px; vertical-align: baseline; list-style: square; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff;"><li style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline;"><h3>数据可视化&#8212;&#8212;视觉元素分析</h3></li></ul><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">接下来我们来看看目前线上的数据可视化平台视觉设计：<br /><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/5093_20130723164642413.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="17" src="http://www.199it.com/wp-content/uploads/2013/09/98bd_20130723164642413-590x892.png" width="590" height="892" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/a8d5_20130723164650670.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="18" src="http://www.199it.com/wp-content/uploads/2013/09/4bbf_20130723164650670-590x661.png" width="590" height="661" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/1c71_20130723164651518.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="19" src="http://www.199it.com/wp-content/uploads/2013/09/cc24_20130723164651518-590x291.png" width="590" height="291" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a><a href="http://alibuybuy-img11.stor.sinaapp.com/2013/08/d0bb_20130723164652941.png" target="_blank" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; outline: none; color: #336699; text-decoration: none;"><img alt="20" src="http://www.199it.com/wp-content/uploads/2013/09/8000_20130723164652941-590x555.png" width="590" height="555" data-bd-imgshare-binded="1" style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; vertical-align: baseline; width: auto; max-width: 100%; height: auto;" /></a></p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">通过这些案例，我们会发现设计上都有普遍的共性：</p><p style="margin: 0px 0px 1.5em; padding: 0px; border: 0px; vertical-align: baseline; color: #555555; font-family: 'Microsoft YaHei', 微软雅黑, STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif, 'Open Sans', Arial; background-color: #ffffff; font-size: 1.2em !important; line-height: 2em !important;">a.&nbsp;在颜色的使用上都偏暖色系；<br />b.&nbsp;颜色的数量上不超过5种；<br />c.&nbsp;颜色使用上基本保持识别度高的色彩，如红、绿、蓝、黑、灰；<br />d.&nbsp;背景色使用上以白，灰为主；<br />e.&nbsp;字体的使用上只使用一种字体</p><img src ="http://www.blogjava.net/echoseason/aggbug/421849.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-26 13:49 <a href="http://www.blogjava.net/echoseason/archive/2014/12/26/421849.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>报表系列之权限控制</title><link>http://www.blogjava.net/echoseason/archive/2014/12/25/421820.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 25 Dec 2014 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/25/421820.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421820.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/25/421820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421820.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 报表系统的权限控制包含功能点和数据两方面的权限控制。功能点权限控制，是指登录用户对某一功能点有无访问权限的控制；数据权限控制，是指登录用户对数据的访问范围的控制。本文将对数据权限控制的测试进行详细的介绍。首先，我们假设有销售业绩报表系统中预设有5个权限控制点：&nbsp;All &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs...&nbsp;&nbsp;<a href='http://www.blogjava.net/echoseason/archive/2014/12/25/421820.html'>阅读全文</a><img src ="http://www.blogjava.net/echoseason/aggbug/421820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-25 13:59 <a href="http://www.blogjava.net/echoseason/archive/2014/12/25/421820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web报表介绍</title><link>http://www.blogjava.net/echoseason/archive/2014/12/24/421717.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Wed, 24 Dec 2014 03:46:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/24/421717.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421717.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/24/421717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421717.html</trackback:ping><description><![CDATA[<div>无论是集团企业还是政府机关，上级要监管、考核下级，通常的做法是要求下级定时报送一些报表，然后对这些报表进行<a href="http://www.finereport.com/knowledge/professional/datadisplay.html">数据展现</a>和分析统计。</div><div>例如税务、财政、交通、建设等部门，都有大量的年报、月报、季报甚至周报、日报等，要求下级层层上报；又比如银监会监督各商业银行，也需要各行定期报送报表；再比如，各统计局也要求企业定期报送大量统计报表，然后再汇总分析，生成本地区的统计报告。</div><div>由此可见，报表上报汇总的应用需求，在我国是普遍存在的。</div><div>复杂报表几乎都有填写的需求，前端需要支持各种填写控制，如编辑风格、自动计算、合法性校验等；填写好的数据能够方便地写入数据库以进行下一步的统计汇总；还需要能支持离线填报和多级汇总填报等。而所有国外报表工具及仿制作品完全不支持填写能力，一般的填报解决方案都不能自动处理数据入库的问题，导致相应的编程工作量仍然很大。</div><div>目前现在绝大多数的企业都是用Excel来处理企业的各种报表，首先能解决格式问题，再怎样复杂的表样也可以做到，但是因为Excel单元格的数据是没有数据定义的，不能放到数据库中处理，而对于报表汇总来说，基本上是要用到几张表或者十几张甚至更多的表格数据源。一般来说，企业用户都是这样处理的，先弄好要汇总的基础数据，然后设置好Excel功能模板，再就是把基础表里的数据手工录入到做好的Excel表单中进行汇总，到最好打印好交付领导审阅，这样的模式倒是要比操作不方便的报表软件要好的多。</div><div>用以上的方式来统计数据做报表非常普遍，也极大的提高了效率，但是操作量和出错率也是比较高的，因为手工操作总是有误差的。其实现在是可以用别的方式来处理掉这些问题的，通过构建自己的报表系统来解决问题。</div><div></div><div>在线报表采集汇总系统的常规需求如下：</div><div><strong>1、报表设计工具要灵活方便，能胜任任意复杂的报表形式</strong></div><div>报表管理是中式管理的一大特色，中国式报表有很多架构复杂的报表。显然，报表设计工具应允许用户天马行空地设计出超复杂报表。</div><div><strong>2、系统应能处理不同结构的报表</strong></div><div>一般管理用报表分两种，一是行列固定的表（二维表），如资产负债表、利润表等；二是行数可以任意增加的表，如工资表、设备明细表等。有时候还会有两者合成在一起的报表。</div><div><strong>3、绝对应采用B/S架构的报表平台</strong></div><div>报表采集需要有基层和中级层参与，如果采用单机版软件，则有很多问题。</div><div>1）需要层层下发报表格式和报表软件，降低任务部署效率。</div><div>2）如果运行中报表格式更新了，又要层层下发。万一某些下级没有更新，那就只有一个字&#8220;悲惨&#8221;。</div><div>3）下级要安装报表软件，大大增加总部的服务压力。</div><div><strong>4、系统应提高强大的报表运算和审核校对能力</strong></div><div>人工采集数据，数据质量是最重要的。为此很多上级都是通过设置严格的审核公式来达到控制数据质量的目的。事先无法确定实际业务中报表的勾稽关系，只能指望系统具备良好的公式内核，能胜任任意审核关系。</div><div><strong>5、系统应能自动管理数据库</strong></div><div>对于操作报表的业务人员而言，其实并不关系报表数据是如何存储的，只要系统存取数据正确、性能良好即可。很多软件需要用户根据报表格式和软件要求的规则定义数据库结构，然后再定义单元格与字段的对应关系。这真是巨困难！好的系统应能根据报表格式，自动创建、管理数据库，让数据库对使用者透明，而不管后台是Oracle、SQL Server还是MySQL。</div><div><strong>6、一定要考虑到上线后的报表指标体系还是要变的</strong></div><div>随着业务管理的变化，在运行了一段时间后的报表上插入或追加一些指标是很正常的业务要求。增加或许好办点，如果是插入或删除，就有可能导致报表中数据的错行，这是很多系统无法解决的问题。理想的效果是，在一张报表中插入几行这样的更新动作，只应在总部做一次报表编辑，然后重新部署到服务器上即可。而各下级重新登陆后，能看到以前填报的数据，无非是新插入的行上没有数据罢了。</div><div><strong>7、系统的分析功能一定要强大</strong></div><div>报表汇总上来的根本目的是为了分析，从而为领导决策提供依据。分析的需求也是五花八门的，所以报表软件一定要有灵活强大的分析功能，允许用户定义任意形式的分析报表或统计图。</div><div><strong>8、一定要支持二次开发，来满足某些个性化的需求</strong></div><div>既然是选择的平台软件，也就是所谓的通用产品软件，其稳定性通用性多半不成问题，但也因此有少量个性化的需求系统将无法满足。也许这就是Office这样流行的成品软件也要提供VBA的原因吧。所以，系统一定要支持类似VBA的扩充能力，也就是允许用户通过内置脚本扩充功能。</div><div></div><div>对于中国国情来说，是非常需要一个能满足上述需求的在线报表采集汇总系统。</div><img src ="http://www.blogjava.net/echoseason/aggbug/421717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-24 11:46 <a href="http://www.blogjava.net/echoseason/archive/2014/12/24/421717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>报表知识之语义层</title><link>http://www.blogjava.net/echoseason/archive/2014/12/23/421679.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Tue, 23 Dec 2014 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/23/421679.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421679.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/23/421679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421679.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421679.html</trackback:ping><description><![CDATA[<div>一、语义层定义</div><div>&#8220;语义层&#8221;英文名称为semantic layer。语义层技术通过对数据库里的有关数据项定义,把数据库中的数据定义成有明确的业务含义的名称。业务人员所面对的不再是表、字段和它们之间复杂的关联、计算关系,而是他所熟悉的业务术语和指标名称。</div><div>二、语义层 、MIB和管理进程之间的关系</div><div><img src="http://www.finereport.com/CN/wordpress/wp-content/uploads/images/semantic.png"  alt="" /></div><div>MIB：Management Information Base的缩写，中文名字叫&#8220;管理信息库&#8221;，它是网络管理数据的标准，在这个标准里规定了网络代理设备必须保存的数据项目，数据类型，以及允许在每个数据项目中的操作。通过对这些数据项目的存取访问，就可以得到该网关的所有统计内容。再通过对多个网关统计内容的综合分析即可实现基本的网络管理。</div><div>语义层作用：由图形可知，语义层通常应用于web报表软件中，作用是把数据库中的对象进行包装，产生高度面向业务的数据抽取模型。经过这种处理后，数据处理可以在业务层面上进行，在生成报表的时候，处理逻辑清晰。</div><div>三、语义层和报表功能的实现</div><div><strong>WEB中的应用</strong></div><div>Web报表中，用户在浏览器端可以基于语义层进行报表设计，可以远程访问服务器的报表模板，可以修改保存服务器的报表模板，可以远程连接服务器的数据库，可以远程运行浏览报表数据的过程。极大提高了报表设计的效率，也使终端用户的业务人员可以直接参与报表设计。</div><div><strong>数据表视图</strong></div><div>在语义层中，视图是报表的数据来源，凡是要将外部数据带入报表进行展现，都要将它做成一个视图。数据的来源可以是多种途径，主要有数据表、SQL查询、存储过程、内建视图等几种方式。其中数据表视图对应数据库中的物理表，每个表物理表对应一个数据表视图。</div><div><strong>指标</strong></div><div>指标，就是由表中的数据经过一些函数表达式运算而得到的结果，在报表设计中它的地位与字段完全相同。在语义层中定义了指标，用户在设计语义层报表时就可以像使用普通的字段一样使用指标，不用再写繁琐的字段间数据运算表达式了。下面就简单介绍一下，语义层中指标的定义和使用。</div><div><strong>权限控制</strong></div><div>语义层提供权限控制的功能，允许程序员调用API接口传入用户信息，从而对语义层进行权限控制。控制粒度可以粗到整个视图，也可以细到每一个数据。</div><div>提供的的权限控制接口是通过会话变量实现的。所谓的会话变量是指和用户个人信息相关的一些变量。</div><div><strong>数据库同步</strong></div><div>语义层数据库的维护包括数据表登记、数据表维护、数据备份、数据恢复四个部分，其中数据表维护功能不仅能将语义层中修改后的数据信息同步至数据库，而且还可以根据语义层定义的数据表在数据库中创建对应的物理表。</div><div><strong>数据查询</strong></div><div>报表语义层提供数据的查询功能，查询功能以向导的形式方便用户自行设定数据过滤条件，浏览过滤后的数据，当数据库中的数据量比较大时，该功能十分常用。</div><div><strong>引入和引出</strong></div><div>报表语义层提供引入引出功能。引入功能与引出功能相反，它是将已存在的.xls或.txt文件引入到当前数据表中。</div><div><strong>数据迁移功能</strong></div><div>语义层提供数据迁移功能。数据管道可以用来做数据迁移，使用数据管道可以把源数据库的一个或者多个表中的数据输入到目的数据库的一个表当中去。</div><div><strong>数据备份</strong></div><div>语义层数据库的维护包括数据表登记、数据表维护、数据备份、数据恢复四个部分，其中数据备份功能可以把语义层中所有的数据生成一个备份文件，也可以根据需要只备份某些表、某些表里的某些字段或者符合所设定过滤条件的数据。</div><div><strong>格式和显示值功能</strong></div><div>报表语义层提供为字段设置显示格式和显示值的功能</div><div><strong>批量功能</strong></div><div>语义层提供批量置数功能。批量置数功能可以按照设定的规则，批量设置数据表的各条记录，在模拟数据库测试阶段应用十分广泛。常用的批量置数方式有取行数、生成随机数和根据现有数据进行修改</div><img src ="http://www.blogjava.net/echoseason/aggbug/421679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-23 14:44 <a href="http://www.blogjava.net/echoseason/archive/2014/12/23/421679.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图表样式预定义</title><link>http://www.blogjava.net/echoseason/archive/2014/12/12/421335.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Fri, 12 Dec 2014 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/12/421335.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421335.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/12/421335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421335.html</trackback:ping><description><![CDATA[为什么要预定义图表样式<p>预定义图表样式也可称之为个性化图表样式预定义。一般而言，报表设计器和图表制作软件中默认的图表颜色和样式以稳妥为主，样式比较死板无新意，颜色也同样中规中均，缺乏让人惊艳的色彩搭配。<a title="图表" href="http://www.finereport.com/knowledge/chart1">图表</a>是数据的形象化补充，需要配合数据做个性化突出显示 ，这就有了个性化样式和颜色设置的需要。</p><p>使用系统默认图表样式和颜色对于数据主题表达影响也不会太大，本文写给那些想把展示的图表制作的更加绚丽、对图表效果要求更加严格的人。</p><p>而预定义图表样式则是为减少我们在制作同一主题图表时的重复劳动而设置的一项功能。java报表软件FineReport中，模板图表中设置的样式优先级高于默认样式，因此我们可以预定义图表样式和图表颜色。</p>图表预定义效果展示<p>图表预定义样式是指保存在服务器端，对整个工程模板起作用的样式，选择某个预定义配色样式，新建图表时的默认样式即为该选择的样式。</p><p>下面对比一下预定义图表与默认效果的对比：<br /><img title="默认图表与预定义图表效果对比" alt="预定义图表" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart1.png" width="700"  .="centered" data-bd-imgshare-binded="1" /></p><p>下面是FineReport给出的图表预定义解决方案具体实施步骤：</p>FineReport图表预定义解决方案内置配色方案<p>打开设计器，点击服务器&gt;图表预定义配色，可以看到多个FineReport内置的预定义配色方案，如下图：<br /><img title="内置配色方案" alt="预定义图表内置配色方案" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart2.png" width="500"  .="centered" data-bd-imgshare-binded="1" /></p><p>新建一张图表，选中图表，点击图表属性表-样式&gt;系列，可以看到其配色和风格均是默认选项，那么此图表的配色和风格就是图表预定义样式的配色和风格，如下图：<br /><img title="图表预定义样式的配色和风格" alt="预定义图表之配色和风格" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart3.png" width="500"  .="centered" data-bd-imgshare-binded="1" /></p>新建图表预定义配色<p>点击图表预定义配色面板中的添加按钮，即可添加新的预定义配色。配色有两种方案：精确设置和渐变色，如下图：<br /><img title="精确设置和渐变色设置" alt="预定义图表之精确设置和渐变色" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart4.png" width="500"  .="centered" data-bd-imgshare-binded="1" /></p><p>精确设置：一共32种颜色，每一种颜色都是由用户自己精确选择，点击界面上的小色块，则弹出&#8220;选择颜色&#8221;的对话框，可选择自己需要的颜色。展示在图表中的颜色也是依次从32种颜色中横向取得，如果系列超过32个，则循环。精确设置的色板都是在默认配色的色板上修改。</p><p>渐变色：用户只需选择起始颜色和结束颜色，具体的颜色变化根据系列的多少不同。</p>配色设置<p>我们这里使用精确设置，分别点击前面三个色块，设置不同的颜色，如下图：<br /><img title="配色设置" alt="预定义图表配色设置" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart5.png" width="500"  .="centered" data-bd-imgshare-binded="1" /></p>效果查看<p>打开模板，点击图表属性表&#8212;样式&gt;系列，可以看到该模板中图表的配色和风格都选择的为默认，如下图：<br /><img title="效果" alt="预定义图表效果" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart6.png"  .="centered" data-bd-imgshare-binded="1" /></p><p>点击分页预览，可以看到其配色样式与图表默认样式中的一致，如下图：<br /><img title="预定义图表预览" alt="预定义图表预览" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart7.png"  .="centered" data-bd-imgshare-binded="1" /></p>修改模板样式<p>点击图表属性表-样式&gt;系列，配色选择自定义&gt;渐变色，风格选择平面3D，如下图：<br /><img title="修改模板样式" alt="预定义图表修改模板样式" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart8.png"  .="centered" data-bd-imgshare-binded="1" /></p><p>保存模板，点击分页预览，可以看到如下图效果，模板的样式与使用默认样式时有很大区别，即如果图表属性表样式设置中，系列的配色和风格使用默认选项，该图表的样式则会使用服务器&gt;图表默认配色中选择的样式风格，如果系列的配色或风格不使用默认选项，那么该模板的图表样式则会使用图表属性表-样式&gt;系列的配色和风格：<br /><img title="预定义图表效果展示" alt="预定义图表最终效果" src="http://www.finereport.com/wp-content/uploads/2014/11/predefinedchart9.png" width="700"  .="centered" data-bd-imgshare-binded="1" /></p>图表预定义样式总结<p>在FineReport中，当需要修改某一张图表的颜色风格，可以在属性表的系列风格中对其单独设置。如果需要对所有模板设置颜色风格，可在服务器&gt;图表预定义配色中添加一种默认样式作为全局风格。单独设置了配色风格的图表，全局风格对其不起作用。希望大家好好</p><p>说明：Finereport中，图表默认样式对股价图、仪表盘、地图、gis、地图不起作用。</p><p>原文转载自：FineReport官网：<a href="http://www.finereport.com/knowledge/chart/predefinedchart.html" target="_blank">http://www.finereport.com/knowledge/chart/predefinedchart.html</a></p><img src ="http://www.blogjava.net/echoseason/aggbug/421335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-12 10:55 <a href="http://www.blogjava.net/echoseason/archive/2014/12/12/421335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>甘特图（Gantt chart）深度解析</title><link>http://www.blogjava.net/echoseason/archive/2014/12/11/421289.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 11 Dec 2014 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/11/421289.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421289.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/11/421289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421289.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421289.html</trackback:ping><description><![CDATA[什么是甘特图（Gantt chart）<p>一般对甘特图的解释是：以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间，即甘特图（Gantt chart）是将活动与时间联系起来的一种<a title="图表" href="http://www.finereport.com/knowledge/chart1">图表</a>形式，显示每个活动的历时长短。甘特图能够从时间上整体把握进度，很清晰地标识出直到每一项任务的起始与结束时间，这也就不难理解甘特图的产生原因了&#8212;&#8212;因为生产管理领域生产计划制定的需要而产生。</p><p>让我们先看一下甘特图长什么样子，下图是用java报表软件FineReport制作的一个简单的项目甘特图，在这个甘特图中可以直观地查看每个项目的进展状况，并对多个项目进行对比 。在下面的多项目甘特图中，横轴表示时间，纵轴表示项目进度，这也是一般甘特图通用的形式。<br /><img title="多项目甘特图" alt="甘特图（Gantt chart）示例" src="http://www.finereport.com/wp-content/uploads/2014/11/Ganttchart1.png" data-bd-imgshare-binded="1"  .="centered" /></p>甘特图的使用场景<p>理解了甘特图的产生原因与自身特点，也就不难想象甘特图的使用场景了。甘特图适用于以下几种应用场景：</p><p>1、项目管理：甘特图是在现代的项目管理里，被广泛应用的一种图表形式。甘特图可以帮助我们预测时间、成本、数量及质量上的结果并回到开始，也能帮助我们考虑人力、资源、日期、项目中重复的要素和关键的部分，还能集成多张张各方面的甘特图而成为一张总图。以甘特图的方式，可以直观的看到任务的进展情况，资源的利用率等等。</p><p>2、如今甘特图不单单被应用到生产管理领域，随着生产管理的发展、项目管理的扩展，它被应用到了各个领域，如：建筑、IT软件、汽车等所有有把时间和任务进度联系到一起的领域。</p>制作甘特图的工具选择<p>能用来制作甘特图的软件工具大致分为三类：</p><p>1、免费开源图形插件</p><p>2、制作甘特图的专门图表软件</p><p>3、包含有甘特图功能的专业报表工具</p><p>对这三类工具，可能每个人的看法都有差别，但大致的方向是一致的，大家可根据具体需要进行选择：</p><p>免费开源图形插件适用于代码能力比较强的个人使用，众所周知，插件既然已经被称为开源插件，就是需要对其源代码进行一定的调试变化才能灵活使用；</p><p>专门制作甘特图的图表软件分为免费和收费两种，功能也就有强有弱，适合只有甘特图一种图表需求的用户；</p><p>包含甘特图功能的报表，即报表已经将甘特图集成到报表中，可以和其他报表与图表形式综合使用，适合处理比较复杂的数据，此类报表工具一般为专业的数据处理报表软件（例如FineReport），适用于功能要求比较高的企业级用户。</p>制作甘特图的简要步骤<p>1.明确项目牵涉到的各项活动、项目。内容包括项目名称（包括顺序）、开始时间、工期，任务类型（依赖/决定性）和依赖于哪一项任务。</p><p>2.创建甘特图草图。将所有的项目按照开始时间、工期标注到甘特图上。</p><p>3.确定项目活动依赖关系及时序进度。使用草图，按照项目的类型将项目联系起来，并安排项目进度。</p><p>4.计算单项活动任务的工时量。</p><p>5.确定活动任务的执行人员及适时按需调整工时。</p><p>6.计算整个项目时间。</p>用FineReport制作单项目甘特图详细教程<p>下图为一个简单的单项目甘特图，该项目包含需求调研、功能开发、验收测试3个任务：<br /><img title="单项目甘特图" alt="Gantt chart" src="http://www.finereport.com/wp-content/uploads/2014/11/Ganttchart2.png" data-bd-imgshare-binded="1"  .="centered" /><br />以计划实际完成百分比甘特图为例，下面介绍其制作方法。</p>数据准备<p>新建工作薄，添加内置数据集如下：<br /><img title="甘特图内置数据集" alt="甘特图数据集" src="http://www.finereport.com/wp-content/uploads/2014/11/Ganttchart3.png" data-bd-imgshare-binded="1"  .="centered" /><br />在单元格中统计出每个步骤的计划开始与结束时间、实际开始与结束时间及完成百分比，作为图表数据来源，如下图：<br /><img title="甘特图图表数据" alt="甘特图图表数据来源" src="http://www.finereport.com/wp-content/uploads/2014/11/Ganttchart4.png" data-bd-imgshare-binded="1"  .="centered" /><br />注：每个步骤的时间必须是纵向排列，活动必须为横向排列，即上面的表格必须保持一样的展现方式。</p><p>数据列设置如下：</p><div .="text-align: center;"><table border="1" cellspacing="0" cellpadding="0"  .="margin: auto; width: 60%;"><tbody><tr><th>单元格</th><th>数据集</th><th>数据列</th><th>属性</th></tr><tr align="center"><td>C1</td><td>ds1<td>步骤</td><td>从左到右扩展，其余默认</td></tr><tr align="center"><td>C2</td><td>ds1</td><td>计划开始时间</td><td>从左到右扩展，其余默认</td></tr><tr align="center"><td>C3</td><td>ds1</td><td>计划结束时间</td><td>从左到右扩展，其余默认</td></tr><tr align="center"><td>C4</td><td>ds1</td><td>实际开始时间</td><td>从左到右扩展，其余默认</td></tr><tr align="center"><td>C5</td><td>ds1</td><td>实际结束时间</td><td>从左到右扩展，其余默认</td></tr><tr align="center"><td>C6</td><td>ds1</td><td>完成百分比</td><td>从左到右扩展，其余默认</td></tr></tbody></table></div>插入图表<p>以悬浮图表为例，点击插入&gt;悬浮元素&gt;插入图表，选择甘特图，点击确定。</p><p>设置图表数据，某项如果没有，则填无。<br /><img title="甘特图图表设置" alt="甘特图效果图" src="http://www.finereport.com/wp-content/uploads/2014/11/Ganttchart5.png" data-bd-imgshare-binded="1"  .="centered" /></p>保存并预览<p>至此，一个简单的单项目甘特图就制作完成了，保存模板，点击分页预览，便即可看到如上的效果。</p><p>原文转载自：FineReport官网：<a href="http://www.finereport.com/knowledge/chart/gantt-chart.html" target="_blank">http://www.finereport.com/knowledge/chart/gantt-chart.html</a></p><img src ="http://www.blogjava.net/echoseason/aggbug/421289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-11 15:56 <a href="http://www.blogjava.net/echoseason/archive/2014/12/11/421289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FineReport中图表排序的具体实现</title><link>http://www.blogjava.net/echoseason/archive/2014/12/11/421287.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 11 Dec 2014 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/11/421287.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421287.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/11/421287.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421287.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421287.html</trackback:ping><description><![CDATA[<p>FineReport中图表排序主要分为<strong>单系列（分类）图表排序</strong>和<strong>多系列分类图表排序</strong>两种，图表排序的实现和数据类排序的原理类似，以<a href="http://www.finereport.com/knowledge/chart1" target="_blank">图表</a>所代表的的数据大小为根本依据，在此基础上延展开来一系列的排序标准<span id="more-2822"></span>。以下主要是实现这两类图表特效的制作方法：</p>单系列（分类）图表排序<p>单系列（分类）图表排序适用于使用图表时，图表能够根据数据的大小进行显示。单系列（分类）图表排序则制作以柱形图为例，希望所有柱子能够根据数据的大小从高到低或者从低到高进行排序，如下图所示，此时要如何实现呢？<br /><img title="单系列（分类）图表排序" alt="单系列（分类）图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder1.png" data-bd-imgshare-binded="1"  .="centered" /><br /><strong>单系列图表排序效果实现思路</strong><br />图表的默认是根据系列进行排序显示的。</p><p>若图表数据源是来自单个数据集，那么可以直接使用数据集中的排序进行排序，然后设置图表数据源为数据集数据；若图表数据源是通过单元格计算出来的，则可以使用扩展后排序进行排序，然后设置图表数据源为单元格数据即可。<br /><strong>单系列图表排序详细步骤</strong></p><p>下面我们以一个简单的示例分别介绍下如何实现上图效果。</p><p>1、图表数据源为数据集数据</p><p>打开模板：%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Logchart.cpt</p><p>修改数据集</p><p>将原来的数据集修改为按照成本价进行降序排序，则SQL语句为：SELECT * FROM [产品] where 类别ID= 1 order by 成本价 desc</p><p>效果查看</p><p>点击分页预览，可以看到柱子从高到低进行降序排序了，如上效果图。</p><p>2、 图表数据源为单元格数据</p><p>打开模板</p><p>打开模板：%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Logchart.cpt。</p><p>修改模板</p><p>按照下图将对应的数据列拖入到单元格中<br /><img title="单系列图表排序之修改模板" alt="单系列图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder2.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>排序设置</p><p>右击A2单元格，选择扩展属性，在单元格属性面板中设置扩展后排序为降序，并在公式中输入B2。</p><p>数据集设置</p><p>按照下图设置数据集：<br /><img title="单系列图表排序之数据集设置" alt="单系列图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder3.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>隐藏单元格</p><p>将单元格中的数据隐藏起来，选中第一行和第二行，右击，选择隐藏行即可。</p><p>效果查看</p><p>点击分页预览，可以看到柱子从高到低进行降序排序了。其他的图表类型，如条形图和饼图，做类似设置可达到同样的图表排序。</p>多系列分类图表排序<p>如下图，数据库中有一张表，每个分类下面的系列均已经按照特定的顺序（系列汇总，即各个系列的流量总和降序排列）排列好，并且有些分类下的数据缺省。<br /><img title="多系列分类图表排序" alt="多系列分类图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder4.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>用上述表中数据制作一个数据集数据源柱形图，如下图，会看到图例的排序与数据库中数据不一致，数据库中每个分类下的系列排序是一样的（缺省系列不参与排序），而图表中图例顺序却是按照从数据库中读取系列（port）字段的顺序排序的，如果第一个分类下的系列名称不缺省，那么图表图例顺序会显示正常（直接从第一个读到最后一个，显示完全），如果第一个分类下面的系列数据有缺省，所以图例排序会先显示该分类下有的系列，缺省的系列会显示在后面，就会打乱原来的顺序：<br /><img title="多系列分类图表排序之顺序错乱" alt="多系列分类图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder5.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>那么该如何实现，在系列缺省的状况下还保持图表图例顺序与数据库中顺序一致呢？<br /><strong>多系列分类图表排序实现思路</strong></p><p>使用单元格作为图表的数据源，在单元格中将数据重新排序，即形成一个交叉报表，横向和纵向表头分别是分类和系列，缺省的地方会自动显示为空，然后将系列重新排序即可。<br /><strong>实现示例</strong></p><p>1 、单元格数据<br />如下图，将数据列拖曳至单元格中，形成交叉报表，并计算每个系列下的汇总流量值。要手动设置C15，也就是sum函数所在单元格的左父格，设为A15。<br /><img title="多系列分类图表排序之单元格数据" alt="多系列分类图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder6.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>2、 单元格重新排序</p><p>选中图表系列所在单元格，也就是A15，在单元格属性表-扩展属性&gt;扩展后中，选择降序排序，公式为=C15，如下图：<br /><img title="多系列分类图表排序之单元格重新排序" alt="多系列分类图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder7.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>点击分页预览，会发现交叉表中系列名称又重新弄排好序了，如下图：<br /><img title="多系列分类图表排序之最终效果" alt="多系列分类图表排序" src="http://www.finereport.com/wp-content/uploads/2014/11/chartorder8.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>3、图表数据源</p><p>单元格数据制作好了，下面将单元格数据与图表进行绑定，也就是重新添加图表数据源，选中图表，在图表属性表-数据一栏中，数据来源选择单元格数据源。</p><p>点击分页预览，即可看到多系列分类图表排序效果。</p><p>原文转载自：FineReport官网：<a href="http://www.finereport.com/knowledge/chart/chartorder.html" target="_blank">http://www.finereport.com/knowledge/chart/chartorder.html</a></p><img src ="http://www.blogjava.net/echoseason/aggbug/421287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-11 15:52 <a href="http://www.blogjava.net/echoseason/archive/2014/12/11/421287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图表条件显示</title><link>http://www.blogjava.net/echoseason/archive/2014/12/11/421286.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 11 Dec 2014 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/11/421286.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421286.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/11/421286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421286.html</trackback:ping><description><![CDATA[<p><a href="http://www.finereport.com/knowledge/chart1" target="_blank">图表</a>条件显示属于FineReport图表特效之一，即根据一定的条件设置显示一定的自定义图表效果。本文主要介绍两种图表条件显示形式<span id="more-2835"></span>：</p><p .="centered">根据条件显示柱形图柱子颜色&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置系列标签颜色与图例颜色相同</p>根据条件显示柱形图柱子颜色<p>此特图表特效适宜于希望将满足一定条件的某个系列高亮显示的要求。例如希望将如下图，销售成本最少的显示红色，销售成本最大的蓝色突出，以上需求可以通过设置图表的条件显示来实现：<br /><img title="图表条件显示" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition1.png"  .="centered" data-bd-imgshare-binded="1" /></p>根据条件显示柱子颜色示例<p>1 打开报表</p><p>这是一张对数坐标显示柱形图报表。</p><p>2 修改系列样式</p><p>为突出条件显示的色调，将柱形图的系列配色改为纯色，如下图：<br /><img title="" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition2.png"  .="centered" data-bd-imgshare-binded="1"  图表条件显示之图表系列样式?="" /></p><p>3 设置条件显示</p><p>根据条件显示系列的颜色</p><p>选中图表，选择报表属性表-特效&gt;条件显示，点击，添加条件属性1，添加完成之后，单击条件属性1，弹出条件属性设置对话框，改变背景色为红色，条件为值 等于 &#8216;=sql(&#8220;FRDemo&#8221;,&#8221;select min(成本价) from 产品 where 类别ID= 1&#8243;,1)&#8217;；</p><p>使用sql公式获取类别ID为1时的最小成本，当值等于最小值时，柱子颜色变为红色。<br /><img title="图表条件显示之图表颜色" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition3.png" width="600"  .="centered" data-bd-imgshare-binded="1" /></p><p>根据条件显示系列的边框格式</p><p>对最大成本系列设置类似，添加条件属性2，点击选择要改变的属性，条件为值 等于 &#8216;=sql(&#8220;FRDemo&#8221;,&#8221;select max(成本价) from 产品 where 类别ID= 1&#8243;,1)&#8217;，如下图：<br /><img title="图表条件显示之设置条件" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition4.png" width="600"  .="centered" data-bd-imgshare-binded="1" /></p><p>同样的方法可以控制标签内容、主次坐标轴、趋势线等其他属性。</p><p>点击分页预览，模板效果如上图。</p>设置系列标签颜色与图例颜色相同<p>1. 问题描述</p><p>在查看图表的标签数据时，希望标签内容和图例的颜色相同，即实现如下图所示的效果。效果图如下：<br /><img title="图表条件显示之效果" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition5.png" width="600"  .="centered" data-bd-imgshare-binded="1" /></p><p>2. 解决方案</p><p>通过设置条件显示给每个系列单独设置标签显示颜色即可。</p><p>3. 示例</p><p>打开模板，设置条件显示。</p><p>选中图表，单击图表属性表-特效&gt;条件显示，添加条件属性1，属性选择标签内容，修改标签字体的样式，这里将字体颜色修改为红色，然后在普通条件处增加系列序号等于对应的序号即可，如下图：<br /><img title="图表条件显示之设置条件显示" alt="图表条件显示" src="http://www.finereport.com/wp-content/uploads/2014/11/chartcondition6.png" width="600"  .="centered" data-bd-imgshare-binded="1" /></p><p>同样可以对其它属性进行修改。</p><p>点击分页预览，可以看到如上图效果。</p><p>原文转载自：FineReport官网：<a href="http://www.finereport.com/knowledge/chart/conditiondisplay.html" target="_blank">http://www.finereport.com/knowledge/chart/conditiondisplay.html</a></p><img src ="http://www.blogjava.net/echoseason/aggbug/421286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-11 15:31 <a href="http://www.blogjava.net/echoseason/archive/2014/12/11/421286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FineReport报表工具实现报表多值查询</title><link>http://www.blogjava.net/echoseason/archive/2014/12/11/421285.html</link><dc:creator>season</dc:creator><author>season</author><pubDate>Thu, 11 Dec 2014 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/echoseason/archive/2014/12/11/421285.html</guid><wfw:comment>http://www.blogjava.net/echoseason/comments/421285.html</wfw:comment><comments>http://www.blogjava.net/echoseason/archive/2014/12/11/421285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/echoseason/comments/commentRss/421285.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/echoseason/services/trackbacks/421285.html</trackback:ping><description><![CDATA[<p>多值查询即是参数的返回值是多个的，即按照多个值查询出数据。控件的类型有数据集参数和报表参数，下面分别介绍下在FineReport中，这两个参数的多值查询的方法。<span id="more-2852"></span></p>报表参数多值查询<p>报表参数的多值查询关键的就是设置过滤条件，下面我们就以下拉复选框为例来介绍下多值查询的过滤条件的设置。<br /><strong>报表参数多值查询具体示例</strong></p><p>1、打开模板</p><p>打开模板：%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaConnection.cpt</p><p>2、修改参数控件类型</p><p>点击参数界面，将参数city的控件类型设置为下拉复选框，并设置返回值类型为数组。下拉复选框的返回值类型无论是字符串还是数组其过滤条件都是相同的，因此这边我们可以随便设置成数组还是字符串。</p><p>3 过滤条件设置</p><p>点击A2单元格，选择单元格上方的过滤按钮，弹出过滤对话框，选中货主城市的过滤条件，将其操作符修改为包含于，然后点击修改，最终的过滤设置界面如下图：<br /><img title="报表参数多值查询之过滤界面设置" alt="报表参数多值查询" src="http://www.finereport.com/wp-content/uploads/2014/11/mulfound1.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>4 保存模板</p><p>点击分页预览，将货主城市选择多个值后，点击查询，就会查询出多个城市的数据，效果如下图：<br /><img title="报表参数多值查询最终效果" alt="报表参数多值查询" src="http://www.finereport.com/wp-content/uploads/2014/11/mulfound2.png" data-bd-imgshare-binded="1"  .="centered" /></p>数据集参数多值查询<p>数据集参数的多值查询，关键是定义sql语句，下面我们来介绍下设置方法。<br /><strong>数据集参数多值查询示例</strong></p><p>1 打开模板</p><p>打开模板：%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue.cpt。</p><p>2 删除报表参数及过滤条件</p><p>将报表参数删除掉，并把A2单元格中的过滤条件删除掉。</p><p>3 修改数据集</p><p>由于下拉复选框的返回值类型为数组型，要定义复杂的公式，因此我们推荐使用返回值类型为字符串型的，下面我们就介绍返回值为字符串型的数据集的定义及下拉框的设置方法。</p><p>要将下拉复选框参数的返回值拼凑成(&#8216;值1&#8242;,&#8217;值2&#8242;,&#8217;值3&#8242;,&#8230;)这样的数据，因此我们将数据集定义为：SELECT * FROM 订单 where 货主地区= &#8216;${area}&#8217; and 货主省份 = &#8216;${province}&#8217; and 货主城市 in (&#8216;${city}&#8217;)</p><p>4 下拉复选框设置</p><p>选择参数的返回值类型为字符串，由于要将参数拼凑成(&#8216;值1&#8242;,&#8217;值2&#8242;,&#8217;值3&#8242;,&#8230;)这样的结果，因此要将分隔符定义为&#8217;,&#8217;，如下图所示：<br /><img title="数据集参数多值查询下拉框设置" alt="数据集参数多值查询" src="http://www.finereport.com/wp-content/uploads/2014/11/mulfound3.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>5 保存模板</p><p>点击分页预览，选择多个城市后，效果如下图：<br /><img title="数据集参数多值查询最终效果" alt="数据集参数多值查询" src="http://www.finereport.com/wp-content/uploads/2014/11/mulfound4.png" data-bd-imgshare-binded="1"  .="centered" /></p><p>具体的设置可参考模板：%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue1.cpt。</p><p>原文转载自：FineReport官网：<a href="http://www.finereport.com/knowledge/design/mulfound.html" target="_blank">http://www.finereport.com/knowledge/design/mulfound.html</a></p><img src ="http://www.blogjava.net/echoseason/aggbug/421285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/echoseason/" target="_blank">season</a> 2014-12-11 15:26 <a href="http://www.blogjava.net/echoseason/archive/2014/12/11/421285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>