<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FF商业智能联盟 &#187; 生活点滴</title>
	<atom:link href="http://freefeet.net/archives/category/life/feed" rel="self" type="application/rss+xml" />
	<link>http://freefeet.net</link>
	<description>关注于商业智能，ETL，数据仓库，报表工具，Olap，BI厂商及相关应用软件和技术的博客</description>
	<lastBuildDate>Thu, 29 Jul 2010 03:51:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>基于SOA的数据协同模型</title>
		<link>http://freefeet.net/archives/1224.html</link>
		<comments>http://freefeet.net/archives/1224.html#comments</comments>
		<pubDate>Tue, 13 Apr 2010 01:00:21 +0000</pubDate>
		<dc:creator>商业智能BI博客-娟</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[数据仓库]]></category>

		<guid isPermaLink="false">http://freefeet.net/?p=1224</guid>
		<description><![CDATA[本文针对当前企业信息化建设中的特点和需求，采用Web服务技术，引进基于事件一条件一动作(Event ConditionAction，ECA)规则的事件驱动模型，提出基于面向服务的架构(Service Oriented Architecture，SOA)... ]]></description>
			<content:encoded><![CDATA[<p>        1 概述</p>
<p>　　近年来，随着企业逐步实现职能优化，企业的资金流、物流和生产效率都得到提高。然而职能部门主权的提高使得相互间的协作成本越来越高。为解决上述问题，提出了业务流程的概念。企业以流程为中心，通过优化的组织结构、灵活易变的流程设计来提高资源利用率，从而降低成本。由于企业业务流程灵活多变，因此对信息共享和数据流转的灵活性提出更高的要求。</p>
<p>　　传统的信息集成技术通过专用的、点对点的接口程序来实现信息共享和传递，虽然能够解决集成中信息的分布性与异构的问题，但忽略了与业务逻辑的关联，从而无法适应企业业务流程频繁变更的需要。<span id="more-1224"></span>　　本文针对当前企业信息化建设中的特点和需求，采用Web服务技术，引进基于事件一条件一动作(Event ConditionAction，ECA)规则的事件驱动模型，提出基于面向服务的架构(Service Oriented Architecture，SOA)的数据协同模型，通过事件驱动数据在不同组织之间的流转，达到信息共享的目的。该模型具有分布性、松耦合等特点，提供可基于企业业务逻辑的流程表达和执行能力，允许信息系统根据预定义的规则，通过事件、触发条件和处理活动等驱动数据的流转，易于实现数据共享协同的自动化，提高生产效率。</p>
<p>　　2 研究背景</p>
<p>　　现在的企业信息集成方法一般分为2种：</p>
<p>　　(1)数据仓库;</p>
<p>　　(2)代理/中介(wrapper/mediator)方法。但是数据仓库由于集中式的一般缺点，不适合分布的特点，已经很少再被采用;而wrapper/mediator方法既可以保留企业现有的信息系统不变，又有利于企业业务流程的执行，因而被广泛采用。Web Service是一种以SOAP为轻量型传输协议、以XML为数据封装标准、基于HTTP的组件集成技术。Web Service技术能有效地封装分布的数据源，从而极大提高系统的延展性，从根本上保护了业已存在的信息投资，是一种比较理想的实现代理/中介方法的技术机制。</p>
<p>　　SOA是一种面向服务的、松耦合架构，能够方便地将Web服务整合集成，以提供系统级的数据集成和转换，具备很好的延展性和灵活性。</p>
<p>　　事件驱动模型以事件为触发，根据条件判断采取什么动作，也叫基于ECA规则的事件驱动模型，它具有及时高效，灵活的特点。采用基于ECA规则的事件模型能很好地表达企业业务执行流程，满足企业数据协同时效性要求。基于ECA规则的数据协同模型具有很强的表达能力，能表达实际业务中的多种情形，可以大大增强数据共享的适应性。</p>
<p>　　本文提出基于SOA的数据协同模型，基于Web服务实现分散信息的集成和封装，它以SOA为系统架构，通过ECA规则事件驱动数据的流动共享，具有松耦合、分布、灵活的特点。同时，模型将流程表示和应用程序分开，既满足了企业信息共享的需求，又满足了企业业务流程的灵活性表达和执行。</p>
<p>3 基于SOA的数据协同模型体系结构</p>
<p>　　基于SOA的数据服务协同模型的目标是将分布在网络中的各类独立数据服务汇集起来，提供面向流程的按需数据服务协同能力，满足企业环境下用户对数据灵活共享的要求。</p>
<p>　　系统以Web服务作为统一的数据接入接口，即通过一个数据源封装注册管理工具，将企业中各种异构、分布的数据源封装成标准的Web服务，用以屏蔽数据源之间的差异，提供统一的数据访问方法。这些Web数据服务通过数据集成总线勾连起来，形成一个松耦合的集成平台，为各个数据源提供信息共享的通道。</p>
<p>　　服务协同引擎足数据服务协同系统的中枢，用于实现数据流模型解释识别、转换为自定义模型，并映射为对应的数据流实例，与集成总线结合，提供完整的运行环境。它通过流程建模工具定义的流程描述文件，将各个Web服务组织起来，驱动数据在系统中的共享和流转。</p>
<p>　　3.1服务协同引擎</p>
<p>　　服务防同引擎是数据服务协同系统的中枢，用于实现数据流模型解释识别并转换为自定义模型，为数据流实例提供运行时的执行环境，包括实例的创建、激活、挂起、终止，并按定义流程和数据信息导航推进实例。它由3个模块组成，即模型解释、事件管理、协同管理。模型解释负责读入由模型建模工具生成的模型描述文件，解释并创建流程实例，负责实例的运行时的状态维护、异常处理等，模型解释部件是引擎中的基础部分，为系统的日常运行提供基础支持部分;事件管理负责探测系统中事件的发生、消息的传递和事件调度执行，事件探测部件是系统得以有效运转的基石;协同管理负责系统的安全管理、QoS服务、事务管理等，协同管理部件协调用户和系统之间的需求要求，它保证了系统的有序高效运行。</p>
<p>　　服务协同模型的核心机制是ECA规则处理机制。</p>
<p>　　定义1 一个ECA规则是一个三元组，定义为R=(E，C，4)。其中，E为激活该规则的事件;C为条件集，用以反映环境中的不同情况;A为操作集(或动作集合)。</p>
<p>　　C在这里通称为对象变量。对象变量是数据流中涉及的影响工作流路径选择的特性或参数，简称变量。变量以工f来表示，变量集合记为X={xl，x2，&#8230;，xk}。</p>
<p>　　变量xi的取值范围为域，用符号Di来表示。域有多种多样的形式，例如连续数域，速度的范围为(1.0m/s~1.2m/s)，离散域，如颜色{红，黄，蓝}。</p>
<p>　　条件ci是Xi={xi1，xi2，&#8230;，xik}∈cx上的k元关系，是笛卡尔积DilxDi2X?xDik上的子集。条件ci是对变量之间关系的限制。条件集合记为C={c1，c2，&#8230;，cj}。</p>
<p>　　操作可以表示为A=(E，Ta，Ob)。E为触发操作的事件;Ta为操作的类型;Ob为操作的对象。</p>
<p>　　事件是一个函数，它将时间映射为布尔值，可以表示为</p>
<p>　　E：T-{True，False} 其中，T称为事件E的发生时间。</p>
<p>　　事件可以分成原子事件和复合事件。原子事件是那些可以被工作流管理系统直接探测到的事件。原子事件可以分为绝对时间事件、活动状态变化事件和操作事件。</p>
<p>　　为了表达数据流执行中的复杂逻辑，原子事件可以复合。如常用的AND，OR等复合算子，可以用这些算子定义更复杂的事件，或者叫复合事件。</p>
<p>　　在ECA规则的基础上，定义了数据协同模型。一个数据协同的运行实例是一个大的活动，活动用P来表示。每一个活动有其内在的运行机制，它依据特定的输入产生特定的输出，用流关系来描述活动的这种特性。</p>
<p>　　定义2设P为某一活动，活动流关系可以定义为F=(I，0，S，RS)。其中，I为活动的输入对象集合;0为活动的输出对象集合;S为活动的状态集合;RS为活动的状态转换规则集合，它是一组ECA规则。</p>
<p>　　活动的缺省状态有：等待(w)，开始(B)，挂起(H)，执行(E)，完成(c)，超时(T)，放弃(A)。</p>
<p>　　各个输入对象和输出对象也有其相应的状态。</p>
<p>　　活动可以用五元组p=(ID，F，Ac，T)来表示。其中，伪为活动的全局唯一的标识;F为活动的流关系;Ac为活动的执行者属性;T为活动的时问属性。</p>
<p>　　活动的执行者可以是某一远程的服务，也可以是本地的应用，甚至是具有自我决策能力的Agent。活动的时间属性包括计划开始时问、周期、实际开始时间、实际周期。活动可以被分解，即p=(P，Rc，Rm)，P为子活动集合，Rc为流程控制规则，Rm为监控规则。被分解的活动称为复合活动。Rc，Rm为ECA规则。活动进行层次分解后，需要一定的机制来保证模型之间的一致性。</p>
<p>　　数据协同模型的另一个重要机制足事件探测机制。数据协同模型中的事件，如前面分析，分为原子事件和复合事件，原子事件又可以分为绝对时间事件、活动状态变化事件和操作事件。这些事件从探测的角度来说，又可以分为3种类型：auto，pull，push。在系统中也对应着3种感应方式。auto型事件根据预先定义好的触发条件，自动触发任务的执行，如定时执行等。这类时间通常适用于数据的集中。pull型时间协同服务系统自动去感知相应信息系统中的触发条件，一旦条件满足就执行任务。这类事件适合于数据采集等任务。push型事件由单独的数据服务向协同服务系统发出触发条件，协同服务感知到请求后马上触发事件。这类时间往往应用于有事务触发的业务中。在定义每个事件实例的处理方式时使用了ECA规则，ECA规则负责建立事件和事件行为间的关联。总之，协同模型定义了数据服务的7种活动(等待、开始、挂起、执行、完成、超时、放弃)状态，并通过特定的事件触发规则(往往对应于业务逻辑)，将不同的数据服务勾连起来，实现业务逻辑相关的数据服务的协同。</p>
<p>　　3.2数据源封装注册管理工具</p>
<p>　　数据源封装管理模块的目标是为底层异构数据源提供一套完整的注册流程，从而封装用户对数据源的物理数据访问。该层将收集维护关于数据源访问的所有必要信息，以及描述数据语义和QoS的信息，并保证各数据源的动态增删过程中系统的稳定。</p>
<p>　　数据协同最底层的数据源是来自各地的异构数据源，包括关系型数据源、XML型数据源或Web Service数据源，数据源注册到系统时需给出一个元数据描述。另外数据源需要对每个局部类给出完整的数据访问方法：对于关系型数据源，提供SQL语句访问接口;对于XML数据源，给出XQuery语句的访问接口;对于Web Service数据源，通过指定的Web方法及参数给出访问接口。</p>
<p>　　数据访问层封装了底层数据源的物理访问，所有非WebService数据源都将在这里由一个统一的Web Service来控制数据访问，该服务将所有异构数据转换成笔者规定的基于XML的数据交换格式，而那些Web Service数据源，它们也将被要求以此格式提供数据。也就是说，上层只需通过调用一些Web Service接口即可获得统一格式数据，从而屏蔽底层异构数据访问方式的影响。</p>
<p>　　数据目录主要存储各类数据服务的统一表示视图，包括数据服务的功能信息(如服务的内容、目的、参与者等)、非功能信息(如安全因素、服务质量等)、服务过程逻辑(如接口信息、子组件描述)等，是实现数据服务协同的基础。</p>
<p>　　注册接入服务将分布在网络中的各类标准的数据服务添加相关的扩充信息后，形成统一的数据服务视图，并注册到数据目录中。</p>
<p>　　3.3流程建模工具</p>
<p>　　流程建模工具提供了一个图形化和用户友好的方式构建数据协同流程。它通过提供图形提示和检查器，可以简化流程、合作伙伴链接和变更没置;可以根据运行条件和变量，快速地创建复杂的并行分支流逻辑;可以管理参与服务交互的伙伴服务、角色和端口类型，设计异常处理机制，而不必直接操作XML语句;可以直接利用WSDL数据创建流程图，提高了基于ECA驱动的数据服务流程的开发效率。</p>
<p>　　建模主要是详细描述具体的业务中数据的流程模型。它借鉴了WFMC提供的核心元素一过程的概念。通过过程对业务过程进行形式化描述，用来支持数据服务协同系统的建模和执行的自动化。这里的过程包括一系列活动和基于事件的活动间关系、过程的起始和终止信息以及有关个体的信息，如参与者、有关的应用和数据等。</p>
<p>　　为了提供拖放助能和良好的可视性，数据服务协同建模工具的数据流流程建模设计采用了基于Applet的可视化B/S结构，主要完成过程中的活动(Active)和连接(Link)等核心元素的定义。整个流程建模用支持拖放的图标表示活动节点，箭头表示流程，使得用户可以随意安排界面。用户在完成模型的创建之后还可以通过单步调试来验证流程的正确性。</p>
<p>　4 模型应用</p>
<p>　　笔者实现了本系统的3个基本核心软件：</p>
<p>　　(1)数据源封装工具;</p>
<p>　　(2)流程定义工具;</p>
<p>　　(3)流程执行引擎。其中，数据源封装工具以Axis为SOAP客户端发布服务;流程执行引擎部署在服务器，对用户不可见，而用户可见的是流程定义工具，它提供拖放功能和良好的可视性。</p>
<p>　　下面以某房地产公司与银行合作开展售房业务的过程为例描述本模型的应用过程。该公司提供房源信息查看和自动售房业务。自动售房业务通过与银行合作完成，用户向银行提出房贷请求，由银行审核完成，将房款自动划拨房地产公司完成售房业务。</p>
<p>　　在这个过程中，客户首先利用pull类型事件向公司售房部提出查看房源信息请求，售房部利用auto类型事件自动从房源管理中心获得房源信息并推荐给客户，客户向售房部预订，并利用pull类型事件向银行房贷部申请房贷;银行利用auto类型事件向贷款人资格审查中心请求审查贷款人资格，得到认证后利用auto类型事件自动将房款划拨到房产公司，房产公司资产管理部门收到前款，可以利用auto型事件通知售房部向顾客出售楼房;用户最终购得需要的楼房。通过本系统，在房地产公司内部、银行内部以及房地产和银行之间达到信息的自动流转和共享，并通过自动的业务流程完成自动售房业务，实现了企业业务的自动、高效。同时，松耦合的系统结构为公司和银行开展其他的业务提供了便利。　　</p>
<p>　　5 结束语</p>
<p>　　随着企业组织各个独立职能部门权利的提升、职能的优化、部门的效率得到提高，职能部门之间的合作会越来越频繁，而与之相对的协作成本却越来越高。再造企业的业务流程，通过高效的、灵活多变的业务流程的执行来提高效率是未来的趋势。这使得企业信息集成带来信息量大，共享变更频繁。</p>
<p>　　本文提出了引入ECA规则的SOA数据协同模型，能满足这种频繁变更的共享的需求，提出并实现了原型系统中的基本功能，包括数据源封装注册管理工具、数据协同引擎和流程定义软件。但是功能还不完善，下一步主要研究和完善基于QoS的自动服务调度。Web服务接入方式的安全控制，以及增加系统的事务处理能力等相关功能。</p>
<p>引自：<a href="http://www.chinabi.net/">中国商业智能网</a></p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/1224.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>api导出excel的四种实现方法</title>
		<link>http://freefeet.net/archives/585.html</link>
		<comments>http://freefeet.net/archives/585.html#comments</comments>
		<pubDate>Sun, 09 Aug 2009 12:27:35 +0000</pubDate>
		<dc:creator>商业智能BI博客-旭</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[导出excel]]></category>
		<category><![CDATA[接口]]></category>
		<category><![CDATA[输出流]]></category>

		<guid isPermaLink="false">http://freefeet.net/?p=585</guid>
		<description><![CDATA[润乾报表是纯java的，不仅本身具有很强大丰富的功能，同时还在不同层面上提供了丰富的java接口。这里主要说说业务系统中常用的一个功能–导出excel。
... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>润乾报表是纯java的，不仅本身具有很强大丰富的功能，同时还在不同层面上提供了丰富的java接口。这里主要说说业务系统中常用的一个功能–导出excel。</p>
<p>本文给出四种常用的通过API接口来实现导出excel的方法：其中方法1和方法2是通过类com.runqian.report4.util.ReportUtils来实现的，方法3和方法4是通过类com.runqian.report4.view.excel.ExcelReport来实现的。具体如下：</p>
<p><strong>(1) 通过输出流FileOutputStream来导出excel</strong></p>
<p>FileOutputStream fos = new FileOutputStream( “C:\\Temp\\test.xls” );<br />
ReportUtils.exportToExcel(fos,iReport,false); //默认以不分页的方式导出excel<br />
fos.flush();<br />
fos.close();</p>
<p><strong>(2) 通过File形式导出excel</strong></p>
<p>String excelFile =”C:\\Temp\\test.xls”;<br />
ReportUtils.exportToExcel(excelFile,iReport,false); //默认以不分页的方式导出excel</p>
<p><strong>(3) 通过输出流FileOutputStream来导出excel</strong></p>
<p>ExcelReport eReport = new ExcelReport();<br />
eReport.export(iReport);<br />
FileOutputStream fos = new FileOutputStream( “C:\\Temp\\test.xls” );<br />
eReport.saveTo(fos);<br />
fos.flush();<br />
fos.close();</p>
<p><strong>(4) 通过File形式导出excel</strong></p>
<p>ExcelReport eReport = new ExcelReport();<br />
eReport.export(iReport);<br />
String excelFile =”C:\\Temp\\test.xls”;<br />
eReport.saveTo(excelFile);<br />
<span lang="EN-US"><span lang="EN-US">引自：<a title="润乾报表工具" href="http://www.runqian.com.cn/know-how/technology" target="_blank"><span><span style="color: #334d86;">润乾报表知识库<br />
</span></span></a>相关文章：<a title="可树形展开的折叠报表的制作" href="http://www.runqian.com.cn/know-how/archives/1160.html"><span style="color: #334d86;">可树形展开的折叠报表的制作</span></a>; <a title="在润乾参数表单中如何不点击查询按钮自动传参" href="http://www.runqian.com.cn/know-how/archives/127.html"><span style="color: #334d86;">在润乾参数表单中如何不点击查询按钮自动传参</span></a>；<a title="关于润乾报表自定义函数报错的问题" href="http://www.runqian.com.cn/know-how/archives/91.html"><span style="color: #334d86;">关于润乾报表自定义函数报错的问题</span></a> ；<a title="决策分析系统解决方案" href="http://www.runqian.com.cn/know-how/solution/solution_1.htm" target="_blank"><span style="color: #334d86;">决策分析解决方案</span></a> ；<span><a title="润乾报表填报处理类问题" href="http://www.runqian.com.cn/know-how/archives/90.html"><span style="color: #334d86;">润乾报表填报处理类问题</span></a></span></span></span></div>
<p class="postmetadata"> </p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/585.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>商业智能会成为主流产业？</title>
		<link>http://freefeet.net/archives/468.html</link>
		<comments>http://freefeet.net/archives/468.html#comments</comments>
		<pubDate>Mon, 13 Jul 2009 15:42:50 +0000</pubDate>
		<dc:creator>商业智能BI博客-娟</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[OLAP]]></category>
		<category><![CDATA[商业智能]]></category>
		<category><![CDATA[商业智能BI]]></category>
		<category><![CDATA[微软]]></category>
		<category><![CDATA[解析]]></category>

		<guid isPermaLink="false">http://freefeet.net/?p=468</guid>
		<description><![CDATA[商业智能的最终目标是通过在正确的时间提供正确的数据来驱动更好的商业特性。然而，运行一个BI平台来运作和部署是很费时间和金钱的。传统的BI解决方案通常只能被一小部分用户使用，一... ]]></description>
			<content:encoded><![CDATA[<p>商业智能的最终目标是通过在正确的时间提供正确的数据来驱动更好的商业特性。然而，运行一个BI平台来运作和部署是很费时间和金钱的。传统的BI解决方案通常只能被一小部分用户使用，一些分析人员和高级用户，但是即使如此，商业智能工具还是很难使用。<span id="more-468"></span> </p>
<p>微软希望通过office 2007帮助企业充分发挥商业智能软件的功能。或许微软的确能够提高BI工具的认知度，但是要是BI成为主流仍然面临着很多挑战。</p>
<p>采用BI的一个主要驱动是需要分析大量的交易数据，这些数据都是成几何倍数的增长的，在通过财务数据、销售数据和其他关键性能指标对业务情况进行分析时必须提供的数据基础。</p>
<p>为了应对快速变化的环境，企业必须能够迅速地把握住新出现的商机，这就需要在理解和分析数据上作必要的投资。由于BI工具的分析结果能够影响到商业决定，它必须能够让企业中的大部分员工及时地看到分析结果，这样保证企业快速反映并迅速作出决定。</p>
<p>然而有很多因素限制了BI工具在每个员工的计算机上运行。通常BI平台的架构非常复杂，不容易构建和部署，同时也不能根据业务流程的变化而变化。因此，很多BI平台不仅仅在实施和部署上花费了很长时间，而且只能在一些特定的行业使用，例如金融业，而不是应用于所有行业。</p>
<p>另外，很多BI工具很难学习和使用，需要专家级的用户和额外的培训，这也限制了BI的应用范围。而且由于很多数据仓库和数据中心都是建立在集成的数据基础上的，因此增加了BI平台的局限性。这也意味着任何的数据分析被局限在特定的范围内，从而不能反映当今的业务流程，并且许多数据仓库并不能很好地展示业务的真实情况。</p>
<p>上述因素限制了企业级商业智能的广泛应用。目前大多数企业在部署BI时仅仅选择部署导航工具而不会考虑BI提供的其他功能。从另外一方面看，BI的提供商们都希望自己的产品成为BI的主流，他们彼此之间存在着激烈的竞争，并致力于在用户计算机上部署自己的查询和报表。而实际上企业需要的是一个标准的平台来支持他们的所有业务，而不是只局限在某个部门。</p>
<p>BI提供商们将如何解决有关标准化的需求呢？</p>
<p>BI领域的领导厂商，例如Business Objects, Cognos 和Hyperion正在投入大量资源将他们原有的相互独立的产品整合为一个统一的集成平台，例如：Business Objects XI, Cognos 8 和 Hyperion System 9。</p>
<p>上述产品都是基于面向服务架构的，并且都致力于在企业内推动BI的标准化，这些产品集成了OLAP（在线数据分析）、查询和报表、各种图表和数据集成功能。一个没有任何技术背景的用户可以通过SAS提供的网络报表工具对数据直接进行分析，而不需要任何的帮助。目前SAS的企业BI平台的销售额正在稳步上升。</p>
<p>在企业级BI厂商中，SAP和Oracle也向用户提供了各自的产品：NetWeaver和Fusion。这些中间件应用把BI和整个业务流程很好地进行了整合。另外SAP和微软合作的Duet产品承诺将与NetWeaver BI进行集成，从而能够在Microsoft office中分析数据，这项功能将会让目前大多数商业用户感到很满意。</p>
<p>本年度BI市场最重要的事件就是Microsoft office 2007的发布，该产品将潜在地将BI功能提供给每一个office的使用人员（数量大概占信息工作者的90％）。微软同时也发布了最新的SQL Server 2005数据集成工具、OLAP分析工具和报表工具，并把这些工作作为另外一个具有“最佳血统”的BI工具的基础。通过提供一些产品让企业用户真正感受到BI带来的低成本、低投入的好处，微软相信office 2007会成为推动BI获得更大认可度的关键因素。</p>
<p>微软另外的一个BI策略就是将office 2007和SharePoint进行集成，这将成为构建能够提供大范围数据存取功能的联合门户的基础。同时office 2007的销售量将会大大提高SQL Server 2005的销售量，并提高市场对微软BI的认知度。微软在市场、成本和桌面领域的决策将会决定office是否能够成为企业级BI解决方案的重要基础。</p>
<p>也许在致力于使BI获得更大认可度的最引人注目的事件就是BI与企业搜索的集成。Business Objects在它的商业智能工具中提供了通过关键字快速获取信息的功能，这些工具包括水晶报表、Web智能报表和 DashBoard管理器。Cognos也启动了Go!产品来支持企业级搜索功能以适用于不同的客户群。</p>
<p>BI提供商们正在开发不仅能够查询已有的报表，而且能够生成未来的报表的应用。同时这类应用程序将为BI分析提供多种方式，而不仅仅局限于标准的数据库查询。高效的企业级BI搜索依赖于稳定的源数据框架。由于要求企业级搜索的速度尽可能快，BI必须保证能够容易地获取结构化和非结构化的信息，同时此类功能会将BI进一步推进到企业内部。</p>
<p>毫无疑问微软有能力通过office 2007诸多的功能来提高BI系统的认知度。但是企业在建立标准化的企业BI平台时的投入很大程度上取决于企业现有的结构，尽管微软的BI解决方案在价格上有很大的竞争力，但是整个迁移的成本还是很高的。</p>
<p>许多专做BI的提供商还没有马上感受到微软带来的冲击，尽管他们已经受到了来自Oracle 和SAP的压力，另外还有一些小规模的、具有创新精神的、致力于提供低成本的可视化、内存分析产品的BI提供商，例如Spotfire, Tableau 和QlikTech带来的冲击。总体而言，BI提供商的活动是有利于BI市场发展的，并且有利于整个BI领域客户认知度的提高。</p>
<p>在激烈的市场竞争下，确保产品能够被更多客户采用的关键因素是产品的架构和可集成性，能够是客户以自己的方式浏览数据。这种自服务功能将会使BI的应用变得更加广泛，但是这需要用户可以很容易地学习、部署和有效地管理BI应用，而不需要IT人员的帮助。</p>
<p>引自：<a href="http://www.zdnet.com.cn/">至顶网</a></p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/468.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何获取填报表中单元格的值</title>
		<link>http://freefeet.net/archives/420.html</link>
		<comments>http://freefeet.net/archives/420.html#comments</comments>
		<pubDate>Tue, 07 Jul 2009 07:00:05 +0000</pubDate>
		<dc:creator>商业智能BI博客-旭</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[alert]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[单元格值]]></category>
		<category><![CDATA[填报]]></category>
		<category><![CDATA[定位]]></category>
		<category><![CDATA[纯html]]></category>

		<guid isPermaLink="false">http://freefeet.net/?p=420</guid>
		<description><![CDATA[在润乾填报表中，可以在报表模板的设计阶段定义好单元格与数据库表字段间的映射关系，轻松实现零代码数据入库。那么，如果想在填报表中获取某个单元格的值，比如在入库前需要进行进... ]]></description>
			<content:encoded><![CDATA[<div class="post">
<div class="entry">
<p>在润乾填报表中，可以在报表模板的设计阶段定义好单元格与数据库表字段间的映射关系，轻松实现零代码数据入库。那么，如果想在填报表中获取某个单元格的值，比如在入库前需要进行进一步的检查或操作等，又该怎么做呢？</p>
<p>润乾报表在web端是以纯html方式展现的，对于每一张报表、报表中的每一个单元格都有对应的ID值，所以我们可以通过ID值来精确定位到某个单元格上，从而可以获取该单元格的值并可以进行进一步的操作。</p>
<p>这里以一个简单的例子来说明如何获取单元格的值。以一个按钮的方式弹出获取到的单元格的值。</p>
<p>1.首先要定位单元格。我们的报表在jsp页面展现的时候是放在一个table表格中去展现，换句话说，报表实际上是在table中去扩展去显示的，这个时候就需要通过报表的name去定位单元格的位置。</p>
<p>2.写一个javaScript函数，得到某个单元格的值，并用alert()函数展示出来。</p>
<p>3.在jsp页面上定义一个按钮，点击触发此javaScript函数。</p>
<p>js函数写法如下：</p>
<p>function _getDispValueByName(){</p>
<p>var cell = document.getElementById(”report1_A4″); //通过ID去定位单元格，这个为扩展后的A4单元格</p>
<p>alert(cell.value); //用alert()函数弹出这个单元格的值</p>
<p>}<br />
<span lang="EN-US"><span lang="EN-US">引自：<a title="润乾报表工具" href="http://www.runqian.com.cn/technology" target="_blank"><span>润乾报表知识库<br />
</span></a>相关文章：<a title="显示值or真实值？——谈谈导出excel的数据显示" href="http://www.runqian.com.cn/archives/1178.html">显示值or真实值？——谈谈导出excel的数据显示</a>; <a title="可树形展开的折叠报表的制作" href="http://www.runqian.com.cn/archives/1160.html">可树形展开的折叠报表的制作</a>；<a title="横向分页报表的标题切分" href="http://www.runqian.com.cn/archives/1101.html">横向分页报表的标题切分</a>；<a title="用润乾报表轻松实现动态排序" href="http://www.runqian.com.cn/archives/1022.html">用润乾报表轻松实现动态排序</a>；<span><a title="浏览式报表中如何使用checkbox" href="http://www.runqian.com.cn/archives/1013.html">浏览式报表中如何使用checkbox</a></span><br />
</span></span></div>
<p class="postmetadata">
<div></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/420.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>深国投报表项目——3.4 商管公司-汇总报表系统</title>
		<link>http://freefeet.net/archives/395.html</link>
		<comments>http://freefeet.net/archives/395.html#comments</comments>
		<pubDate>Fri, 03 Jul 2009 15:23:41 +0000</pubDate>
		<dc:creator>商业智能BI博客-旭</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[OA]]></category>
		<category><![CDATA[商管]]></category>
		<category><![CDATA[商置]]></category>
		<category><![CDATA[慧点]]></category>
		<category><![CDATA[数据级字段]]></category>
		<category><![CDATA[汇总]]></category>
		<category><![CDATA[深国投]]></category>

		<guid isPermaLink="false">http://freefeet.net/?p=395</guid>
		<description><![CDATA[汇总报表系统包括资金计划和资金预算两个套表，工作方式为财务部门按年度或季度分别下发资金计划和预算的新版本，其他各个部门去填写自己部门需要做的资金计划和资金预算的填报子报... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>汇总报表系统包括资金计划和资金预算两个套表，工作方式为财务部门按年度或季度分别下发资金计划和预算的新版本，其他各个部门去填写自己部门需要做的资金计划和资金预算的填报子报表。最后财务部门根据各部门的填报锁定版本，并生成资金计划和资金预算套表的汇总表。各部门填报的子报表包括：主营业务收入报表、交通通讯费报表、人力成本报表、差旅费报表、市内交通费报表、房租水电费报表、资本性预算明细报表、折旧报表等。</p>
<p><strong>3.4.1多版本数据填报</strong></p>
<p>财务部人员以季度或年为单位，依次发布多个资金计划和资金预算的填报版本，每当发布一个新版本，各部门才能去填写本季度或本年的资金计划数据。</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/xn-cnstpo0v6wao7edtd1r3a.png" alt="多版本数据填报.png" height="120" /></p>
<p>一个部门填写的数据由财务审查，经过多次修改，此部门本季度或本年数据通过审核，财务将锁定这个部门本季度或本年此版本的数据。此部门此版本的最终数据将保留到数据库中，财务和此部门都不能再修改本季度或本年此版本的数据。</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/xn-vc0ey7gd4eo1jwzldxr4o5c3s0buda936ck9cv2vr0j.png" alt="各部门填写资金预算（例：差旅费）.png" height="188" /></p>
<p><strong>3.4.2多版本汇总报表查询</strong></p>
<p>针对填报的内容，各部门可以按照填报的版本，随时查看自己填报的数据。财务部门对资金计划和预算的汇总表的查询也是采用同样的方式。</p>
<p><img class="alignnone size-full wp-image-1770" src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/e8b4a2e58aa1e983a8e997a8e8b584e98791e8aea1e58892e6b187e680bbe8a1a8.png" alt="e8b4a2e58aa1e983a8e997a8e8b584e98791e8aea1e58892e6b187e680bbe8a1a8" width="558" height="193" /><br />
<img class="alignnone size-full wp-image-1771" src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/e8b4a2e58aa1e983a8e997a8e8b584e98791e9a284e7ae97e6b187e680bbe8a1a8.png" alt="e8b4a2e58aa1e983a8e997a8e8b584e98791e9a284e7ae97e6b187e680bbe8a1a8" width="522" height="272" /></p>
<p><img class="alignnone size-full wp-image-1772" src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/e59084e983a8e997a8e69fa5e8afa2e5a1abe68aa5e79a84e8b584e98791e9a284e7ae97efbc88e4be8befbc9ae4babae58a9be68890e69cace68aa5e8a1a8efbc891.png" alt="e59084e983a8e997a8e69fa5e8afa2e5a1abe68aa5e79a84e8b584e98791e9a284e7ae97efbc88e4be8befbc9ae4babae58a9be68890e69cace68aa5e8a1a8efbc891" width="558" height="236" /></p>
<p><strong>3.4.3灵活的数据钻取</strong></p>
<p>对于资金计划和资金预算套表，在各部门数据填报完成，并且财务人员锁定某一版本的基础上，可以查询资金计划或预算汇总表，可以点击数据区，进行数据钻取，看到某一会计科目、某一个月的各部门数据（按部门分组）。</p>
<p><img class="alignnone size-full wp-image-1769" src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/06/e695b0e68daee992bbe58f961.png" alt="e695b0e68daee992bbe58f961" width="506" height="221" /></p>
<p>引自：<a title="润乾报表工具成功案例" href="http://www.runqian.com.cn/cases"><span>润乾报表成功案例<br />
</span></a>原文链接：<a href="http://www.runqian.com.cn/archives/1040.html">深国投报表项目——3.4 商管公司-汇总报表系统<br />
</a>相关文章：<a href="http://www.runqian.com.cn/archives/1139.html">北京创先策略信息咨询有限公司（创先国际）</a></div>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/395.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用快逸实现在Web页面导入Excel入库</title>
		<link>http://freefeet.net/archives/199.html</link>
		<comments>http://freefeet.net/archives/199.html#comments</comments>
		<pubDate>Sun, 22 Mar 2009 06:35:26 +0000</pubDate>
		<dc:creator>商业智能BI之路-威</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[B/S]]></category>
		<category><![CDATA[excel入库]]></category>
		<category><![CDATA[excel导入]]></category>
		<category><![CDATA[java开发工具]]></category>
		<category><![CDATA[MIS]]></category>

		<guid isPermaLink="false">http://freefeet.net/archives/199.html</guid>
		<description><![CDATA[Excel是个很简单易用的电子表格，大量的终端用户都喜欢用Excel记录并且上报数据。因此在用户引入报表工具或者启动信息化项目之前，用户手里往往已经存在大量的Excel报表，理所当然地，用... ]]></description>
			<content:encoded><![CDATA[<p>Excel是个很简单易用的电子表格，大量的终端用户都喜欢用Excel记录并且上报数据。因此在用户引入<a href="http://ibaobiao.com/" class="alinks_links" rel="external" title="报表工具">报表工具</a>或者启动信息化项目之前，用户手里往往已经存在大量的Excel报表，理所当然地，用户会提出：能否在Web网页上，直接把Excel里的数据导入页面中，进而保存到数据库？</p>
<p>面对这个问题，项目经理和程序员可以有两个选择方案A：自行开发实现这个需求；方案B：购买商用开发工具。对于方案A，仔细分析发现，自己开发这个功能还真是费时费力！原因在于这个需求的实现是包括以下几个方面的：</p>
<p>1、搭建一个类似Excel的页面控件，用来导入Excel单元格。2、Excel导入到页面上之后，要能够向数据库提交数据。3、页面上的格子要能够根据用户的需求，自由地匹配单元格与数据库字段、记录的关系。4、页面上的格子能够和Excel中的数据一一对应。5、存入数据库之前能进行数据的合法性检查以及用户权限的校验。6、对于那种样式比较简单的清单表，还要有导入不定行excel数据的能力。</p>
<p>以上这些要求，自行编程的工作量和技术难度那是相当大，其中第6条更是如此。而且这样开发出来的程序，很难设计得通用，最后导致不断修改程序或者维护好几种程序。再加上考虑到大数据量Excel导入的性能问题，方案A看来基本上是不可行了。</p>
<p>那么如果要买商用开发工具，有没有合适的？有没有非常便宜的？买了以后有没有售后服务（支持、升级和需求修改）？</p>
<p>可以肯定的告诉您，快逸报表就是能够解决这些问题的开发工具！快逸报表不仅是一个强大的报表工具，也是一个零代码的开发工具！</p>
<p>在快逸报表中要实现上述的需求，不要编程或者特别的设置，只要可视化设计出需要的填报表，发布后即可导入！</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2009/02/import-excel.png" alt="import_excel.png" height="415"></p>
<p>引自：<a href="http://www.quiee.com.cn/tech" target="_blank" title="报表工具技术知识库">报表工具知识库</a> <br />相关文章：<a href="http://www.quiee.com.cn/archives/334" target="_blank" title="普及报表系统功能说明">普及报表系统功能说明</a> ; <a href="http://javareport.cn/archives/19" target="_blank" title="好用的java报表开发工具">好用的java开发工具</a> ; <a href="http://www.quiee.com.cn/archives/531" title="数据集由内建还原为sql后没有数据">数据集由内建还原为sql后没有数据</a> ; <a href="http://www.quiee.com.cn/archives/820" title="快逸报表在瑞星2009下填报编辑框无法使用的解决办法">快逸报表在瑞星2009下填报编辑框无法使用的解决办法</a> <br />其他相关内容：<a href="http://www.runqian.com.cn/" target="_blank" title="java报表软件--润乾企业级java报表">润乾报表</a> ; <a href="http://www.raqsoft.com/" target="_blank" title="RAQSOFT">RAQSOFT</a> ; <a href="http://www.runqian.com.cn/solution/solution_index.htm" target="_blank" title="润乾商业智能解决方案">润乾商业智能解决方案</a> ；<a href="http://awebreport.com/" target="_blank" title="web报表，.net报表，报表技术，报表应用">web报表研究</a> ；<a href="http://www.bonzerreport.com/" target="_blank" title="专注于.net报表开发的.net报表工具">专业.net报表工具</a></p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/199.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>润乾决策分析平台RBP之通用语义定义</title>
		<link>http://freefeet.net/archives/184.html</link>
		<comments>http://freefeet.net/archives/184.html#comments</comments>
		<pubDate>Mon, 09 Mar 2009 04:46:00 +0000</pubDate>
		<dc:creator>商业智能BI之路-威</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[RBP]]></category>
		<category><![CDATA[决策分析]]></category>
		<category><![CDATA[商业智能]]></category>
		<category><![CDATA[语义]]></category>

		<guid isPermaLink="false">http://freefeet.net/archives/184.html</guid>
		<description><![CDATA[统一的数据定义是数据分析和数据挖掘的基石，如果没有一致的、通用的定义，BI项目的实施难以成功。企业如果缺乏一致性的数据定义，便意味着不同部门的使用者对同一名词所代表的数据存... ]]></description>
			<content:encoded><![CDATA[<div class="entry">统一的数据定义是数据分析和数据挖掘的基石，如果没有一致的、通用的定义，BI项目的实施难以成功。企业如果缺乏一致性的数据定义，便意味着不同部门的使用者对同一名词所代表的数据存在分歧，进而使得各种数据不能很好的吻合，从根本上动摇了数据分析的基础。 为解决这个问题，润乾在整个业务领域内建立通用的语义定义，在此基础上，把业务关键指标进行有效控制及管理，进而实现基于业务需求基础上的分析及决策。润 乾的&#8221;强关联语义化工具&#8221;可以整合企业各个业务子系统数据，形成一套专供数据分析所使用的通用语义层，在此基础上，用户即可以拥有一套统一的、简单易懂的 业务数据窗口，借助这个数据集中视图，可以很方便的创建各种统计分析图表、实现高度可定制的决策分析系统。 润乾独创的强关联语义模 型巧妙地和非线性报表模型结合，通过拖拽生成表达式的方式，可以轻松地由业务人员设计报表，尤其是非线性报表，业务人员根据实际需求进行简单的托拽即可完 成网格式、分组式、交叉式、不完全分组、枚举分组、归并分组、按段分组、条件分组、多源分片及其他非线性报表，彻底解决了业务人员制表难的烦恼。整个制表 过程完全不需要编辑表达式，不需要了解sql语句的写法，对于参数的使用、代码与显示值的对应关系、显示格式、计算列等属性均提供了很好的解决方案。 由于强关联语义层自有的封装性和简易性，让不懂数据库编程技术的企业应用人员与报表的设计走的更近，通常企业要进行报表功能的扩展需要如下的工作模式： 企 业业务人员把报表的需求向软件服务商的开发工程师提交（或者向专门提供报表服务的咨询公司提交），开发工程师就业务上提出来的需要与业务人员反复确认，经 过一段对开发工程师业务讲解培训的过程，让开发工程师逐渐入门并了解业务，最终掌握业务人员的意图，通过开发工程师对于数据库开发技术的掌握，编制出符合 最初需求的<a href="///D|/Program%20Files" class="alinks_links" rel="external" title="web报表">WEB报表</a>。 而语义层的报表设计流程却在彻底垫付上述的传统工作模式，软件的开发效率直接影响着开发周期，同时也决定了企业为报表项目扩展所付出的成本，所以 任何在开发过程中可以缩短或省略的过程都会对最终结果有正面影响。报表的需求由企业提出，而最熟悉报表结构和内容的是企业的业务工作人员，语义层将数据库 里面的数据结构封装成了业务语言，每个字段、每个依据都是业务人员所熟悉的，他们通过语义层拖拽就可以形成自己所要的报表，与传统的开发流程相比，语义层 模式节省了对软件工程师进行业务培训的过程，统计结果表明，该过程确是影响软件开发效率的瓶颈。语义层工作模式消除了这一瓶颈，并在报表项目提高开发效率 和节约开发成本方面提出了新的思路，成为符合企业需求的先进性的报表设计工具。 语义层封装了数据源中的技术细节，例如：数据库、 表、视图、SQL、存储过程以及它们之间的关联等等，语义层文件本身并不包含数据。语义层文件由高级用户设计制作，完成其中的各种表、视图、关系等的设 定。当最终用户打开语义层文件，通过拖拽使用语义层中的数据时，语义层会自动把需要的其他信息比如数据集定义、表间关联等都应用起来，而无需用户亲自动 手。某操作意义上来说，语义层实际上相当于一个高级向导。 强关联语义模型不仅仅在模型上创新，而且在细节上考虑很周到。它采用所见 即所得的编辑方式，让用户从语义层中拖拽视图、字段时，自动生成表达式，避免了用户学习表达式规则；它把很多报表里的属性在语义层中定义，避免了用户理解 和学习报表的属性和术语，更是避免了很多属性的重复定义；它独特的条件参数的创意，使得用户不用学习条件语句的写法，就可以使用条件和参数，制作出参数报 表。 语义层工具使最终用户不需要了解数据库的底层结构，不需要手动编写复杂的表达式，不需要记住繁琐的公式，只需要非常简单的鼠标拖拽就可以完成复杂报表的设计，这正是语义层最大的优点，真正做到最终用户轻松制表。 润乾还提出了完整的语义权限控制方案，能够控制不同权限的业务人员访问不同的视图、字段和记录，控制粒度可以是视图级的，可以是字段级的，也可以是记录级的，非常灵活。同时，对于报表模板的访问权限也提供了完整的解决方案，可以控制可读、可修改、可新建等权限。 引自：<a href="http://www.runqian.com.cn/solution/solution_index.htm" target="_blank" title="润乾商业智能解决方案">润乾商业智能解决方案</a> 原文链接：<a href="http://www.runqian.com.cn/archives/619.html" title="润乾决策分析平台RBP之通用语义定义">润乾决策分析平台RBP之通用语义定义</a> 相关文章：<a href="http://www.runqian.com.cn/solution/solution_4.htm" target="_blank" title="智能填报：自定义数据填报系统">自定义数据填报系统</a> ；<a href="http://www.runqian.com.cn/solution/solution_5.htm" target="_blank" title="数据采集解决方案">数据采集解决方案</a> ；<a href="http://www.runqian.com.cn/solution/solution_1.htm" target="_blank" title="决策分析系统解决方案">决策分析解决方案</a> ；<a href="http://freefeet.net/archives/134.html" rel="bookmark" title="Permanent Link to 商业智能BI的三个层次">商业智能BI的三个层次</a> 其他相关内容：<a href="http://www.runqian.com.cn/" target="_blank" title="java报表软件--润乾企业级java报表">润乾报表</a> ; <a href="http://freefeet.net/" target="_blank" title="商业智能专业知识库">商业智能专业知识库</a> ；<a href="http://bireport.blogbus.com/" target="_blank" title="商业智能报表工具博客BIreport">商业智能BI</a> ；<a href="http://hi.baidu.com/bireport" target="_blank" title="百度商业智能空间">百度商业智能空间</a></div>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/184.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>数据挖掘是什么？</title>
		<link>http://freefeet.net/archives/120.html</link>
		<comments>http://freefeet.net/archives/120.html#comments</comments>
		<pubDate>Mon, 15 Dec 2008 15:23:19 +0000</pubDate>
		<dc:creator>商业智能BI博客-旭</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[DW]]></category>
		<category><![CDATA[商业智能]]></category>
		<category><![CDATA[商业智能BI]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[数据挖掘]]></category>

		<guid isPermaLink="false">http://freefeet.net/archives/120.html</guid>
		<description><![CDATA[众所周之，数据挖掘（DW）是商业智能（BI）里相当重要的一部分。那数据挖掘到底是什么呢，本文将对此探讨一下。 人们在日常生活中经常会遇到这样的情况：超市的经营者希望将经常被同时... ]]></description>
			<content:encoded><![CDATA[<p>众所周之，数据挖掘（DW）是商业智能（BI）里相当重要的一部分。那数据挖掘到底是什么呢，本文将对此探讨一下。</p>
<p>人们在日常生活中经常会遇到这样的情况：超市的经营者希望将经常被同时购买的商品放在一起，以增加销售；保险公司想知道购买保险的客户一般具有哪些特征；医学研 究人员希望从已有的成千上万份病历中找出患某种疾病的病人的共同特征，从而为治愈这种疾病提供一些帮助。</p>
<p>对于以上问题，现有信息管理系统中的数据分析工具无法给出答案。因为无论是查询、统计还是报表，其处理方式都是对指定的数据进行简单的数字处理，而不能对这些数据所包含的内在信息进行提取。随着信息管理系统的广泛应用和数据量激增，人们希望能够提供更高层次的数据分析功能，从而更好地对决策或科研工作提供支持。</p>
<p>正是为了满足这种要求，从大量数据中提取出隐藏在其中的有用信息，将机器学习应用于大型数据库的数据挖掘(Data Mining)技术得到了长足的发展。</p>
<p>数据挖掘（DW），也可以称为数据库中的知识发现(Knowledge Discover Database，KDD)，是从大量数据中提取出可信、新颖、有效并能被人理解的模式的高级处理过程。</p>
<p>数据库中的知识发现是一个多步骤的处理过程，一般分为：</p>
<p>问题定义了解相关领域的有关情况，熟悉背景知识，弄清用户要求。</p>
<blockquote>
<p align="left">数据提取根据要求从数据库中提取相关的数据。<br />
数据预处理主要对前一阶段产生的数据进行再加工，检查数据的完整性及数据的一致性，对其中的噪音数据进行处理，对丢失的数据进行填补。<br />
数据挖掘运用选定的知识发现算法，从数据中提取出用户所需要的知识，这些知识可以用一种特定的方式表示或使用一些常用的表示方式。<br />
知识评估将发现的知识以用户能了解的方式呈现，根据需要对知识发现过程中的某些处理阶段进行优化，直到满足要求。</p></blockquote>
<p>由此可见，数据挖掘只是数据库中知识发现的一个步骤，但又是最重要的一步。因此，往往可以不加区别地使用KDD和数据挖掘。一般在研究领域被称作数据库中知识发现的，在工程领域则称之为数据挖掘。</p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/120.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>常用SQL语句集锦</title>
		<link>http://freefeet.net/archives/34.html</link>
		<comments>http://freefeet.net/archives/34.html#comments</comments>
		<pubDate>Wed, 16 Jul 2008 01:11:25 +0000</pubDate>
		<dc:creator>双脚踩踩</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://freefeet.net/archives/34.html</guid>
		<description><![CDATA[语 句 功 能 &#8211;数据操作 　　SELECT &#8211;从数据库表中检索数据行和列 　　INSERT &#8211;向数据库表添加新数据行 　　DELETE &#8211;从数据库表中删除数据行 　　UPDATE &#8211;更新数据库表中的数据... ]]></description>
			<content:encoded><![CDATA[<p><strong>语 句 功 能<br />
</strong>&#8211;数据操作<br />
　　SELECT &#8211;从数据库表中检索数据行和列<br />
　　INSERT &#8211;向数据库表添加新数据行<br />
　　DELETE &#8211;从数据库表中删除数据行<br />
　　UPDATE &#8211;更新数据库表中的数据<br />
&#8211;数据定义<br />
　　CREATE TABLE &#8211;创建一个数据库表<br />
　　DROP TABLE &#8211;从数据库中删除表<br />
　　ALTER TABLE &#8211;修改数据库表结构<br />
　　CREATE VIEW &#8211;创建一个视图<br />
　　DROP VIEW &#8211;从数据库中删除视图<br />
　　CREATE INDEX &#8211;为数据库表创建一个索引<br />
　　DROP INDEX &#8211;从数据库中删除索引<br />
　　CREATE PROCEDURE &#8211;创建一个存储过程<br />
　　DROP PROCEDURE &#8211;从数据库中删除存储过程<br />
　　CREATE TRIGGER &#8211;创建一个触发器<br />
　　DROP TRIGGER &#8211;从数据库中删除触发器<br />
　　CREATE SCHEMA &#8211;向数据库添加一个新模式<br />
　　DROP SCHEMA &#8211;从数据库中删除一个模式<br />
　　CREATE DOMAIN &#8211;创建一个数据值域<br />
　　ALTER DOMAIN &#8211;改变域定义<br />
　　DROP DOMAIN &#8211;从数据库中删除一个域<br />
&#8211;数据控制<br />
　　GRANT &#8211;授予用户访问权限<br />
　　DENY &#8211;拒绝用户访问<br />
　　REVOKE &#8211;解除用户访问权限<br />
&#8211;事务控制<br />
　　COMMIT &#8211;结束当前事务<br />
　　ROLLBACK &#8211;中止当前事务<br />
　　SET TRANSACTION &#8211;定义当前事务数据访问特征<br />
&#8211;程序化SQL<br />
　　DECLARE &#8211;为查询设定游标<br />
　　EXPLAN &#8211;为查询描述数据访问计划<br />
　　OPEN &#8211;检索查询结果打开一个游标<br />
　　FETCH &#8211;检索一行查询结果<br />
　　CLOSE &#8211;关闭游标<br />
　　PREPARE &#8211;为动态执行准备SQL 语句<br />
　　EXECUTE &#8211;动态地执行SQL 语句<br />
　　DESCRIBE &#8211;描述准备好的查询<br />
&#8212;局部变量<br />
　　declare @id char(10)<br />
　　&#8211;set @id = &#8217;10010001&#8242;<br />
　　select @id = &#8217;10010001&#8242;<br />
&#8212;全局变量<br />
　　&#8212;必须以@@开头<br />
　　&#8211;IF ELSE　　<br />
declare @x int @y int @z int<br />
　　select @x = 1 @y = 2 @z=3<br />
　　if @x &gt; @y<br />
　　print &#8216;x &gt; y&#8217; &#8211;打印字符串&#8217;x &gt; y&#8217;<br />
　　else if @y &gt; @z<br />
　　print &#8216;y &gt; z&#8217;<br />
　　else print &#8216;z &gt; y&#8217;<br />
　　&#8211;CASE　　<br />
use pangu<br />
　　update employee<br />
　　set e_wage =<br />
　　case<br />
　　when job_level = ’1’ then e_wage*1.08<br />
　　when job_level = ’2’ then e_wage*1.07<br />
　　when job_level = ’3’ then e_wage*1.06<br />
　　else e_wage*1.05<br />
　　end<br />
　　&#8211;WHILE CONTINUE BREAK　　<br />
declare @x int @y int @c int<br />
　　select @x = 1 @y=1<br />
　　while @x &lt; 3<br />
　　begin<br />
　　print @x &#8211;打印变量x 的值<br />
　　while @y &lt; 3<br />
　　begin<br />
　　select @c = 100*@x + @y<br />
　　print @c &#8211;打印变量c 的值<br />
　　select @y = @y + 1<br />
　　end<br />
　　select @x = @x + 1<br />
　　select @y = 1<br />
　　end<br />
&#8211;WAITFOR<br />
　　&#8211;例 等待1 小时2 分零3 秒后才执行SELECT 语句　<br />
waitfor delay ’01:02:03’<br />
　　select * from employee<br />
　　&#8211;例 等到晚上11 点零8 分后才执行SELECT 语句　　<br />
waitfor time ’23:08:00’<br />
　　select * from employee<br />
　　***SELECT***　<br />
select *(列名) from table_name(表名) where column_name operator value<br />
　　ex:(宿主)<br />
　　select * from stock_information where stockid = str(nid)<br />
　　stockname = &#8216;str_name&#8217;<br />
　　stockname like &#8216;% find this %&#8217;<br />
　　stockname like &#8216;[a-zA-Z]%&#8217; &#8212;&#8212;&#8212; ([]指定值的范围)<br />
　　stockname like &#8216;[^F-M]%&#8217; &#8212;&#8212;&#8212; (^排除指定范围)<br />
　　&#8212;&#8212;&#8212; 只能在使用like关键字的where子句中使用通配符)<br />
　　or stockpath = &#8216;stock_path&#8217;<br />
　　or stocknumber &lt; 1000<br />
　　and stockindex = 24<br />
　　not stock*** = &#8216;man&#8217;<br />
　　stocknumber between 20 and 100<br />
　　stocknumber in(10,20,30)<br />
　　order by stockid desc(asc) &#8212;&#8212;&#8212; 排序，desc-降序，asc-升序<br />
　　order by 1,2 &#8212;&#8212;&#8212; by列号<br />
　　stockname = (select stockname from stock_information where stockid = 4)<br />
　　&#8212;&#8212;&#8212; 子查询<br />
　　&#8212;&#8212;&#8212; 除非能确保内层select只返回一个行的值，<br />
　　&#8212;&#8212;&#8212; 否则应在外层where子句中用一个in限定符　<br />
select distinct column_name form table_name &#8212;&#8212;&#8212; distinct指定检索独有的列值，不重复<br />
　　select stocknumber ,stocknumber + 10 = stocknumber + 10 from table_name<br />
　　select stockname , stocknumber = count(*) from table_name group by stockname<br />
　　&#8212;&#8212;&#8212; group by 将表按行分组,指定列中有相同的值　　<br />
having count(*) = 2 &#8212;&#8212;&#8212; having选定指定的组<br />
　　select *<br />
　　from table1, table2<br />
　　where table1.id *= table2.id &#8212;&#8212;&#8211; 左外部连接，table1中有的而table2中没有得以null表示<br />
　　table1.id =* table2.id &#8212;&#8212;&#8211; 右外部连接<br />
　　select stockname from table1<br />
　　union [all] &#8212;&#8211; union合并查询结果集，all-保留重复行<br />
　　select stockname from table2<br />
***insert***　　<br />
insert into table_name (Stock_name,Stock_number) value (xxx,xxxx)<br />
　　value (select Stockname , Stocknumber from Stock_table2)&#8212;value为select语句<br />
　　***update***　　<br />
update table_name set Stockname = xxx [where Stockid = 3]<br />
　　Stockname = default<br />
　　Stockname = null<br />
　　Stocknumber = Stockname + 4<br />
***delete***　　<br />
        delete from table_name where Stockid = 3<br />
　　truncate table_name &#8212;&#8212;&#8212;&#8211; 删除表中所有行，仍保持表的完整性<br />
　　drop table table_name &#8212;&#8212;&#8212;&#8212;&#8212; 完全删除表<br />
***alter table*** &#8212; 修改数据库表结构　　<br />
        alter table database.owner.table_name add column_name char(2) null &#8230;..<br />
　　sp_help table_name &#8212;- 显示表已有特征<br />
　　create table table_name (name char(20), age smallint, lname varchar(30))<br />
　　insert into table_name select &#8230;&#8230;&#8230; &#8212;&#8211; 实现删除列的方法(创建新表)<br />
　　alter table table_name drop constraint Stockname_default &#8212;- 删除Stockname的default约束<br />
***function(/*常用函数*/)***<br />
　　&#8212;-统计函数&#8212;-<br />
　　***G &#8211;求平均值<br />
　　COUNT &#8211;统计数目<br />
　　MAX &#8211;求最大值<br />
　　MIN &#8211;求最小值<br />
　　SUM &#8211;求和<br />
　　&#8211;***G　<br />
use pangu<br />
　　select avg(e_wage) as dept_avgWage<br />
　　from employee<br />
　　group by dept_id<br />
&#8211;MAX<br />
　　&#8211;求工资最高的员工姓名<br />
use pangu<br />
　　select e_name<br />
　　from employee<br />
　　where e_wage =<br />
　　(select max(e_wage)<br />
　　from employee)<br />
　　&#8211;STDEV()<br />
　　&#8211;STDEV()函数返回表达式中所有数据的标准差<br />
　　&#8211;STDEVP()<br />
　　&#8211;STDEVP()函数返回总体标准差<br />
　　&#8211;VAR()<br />
　　&#8211;VAR()函数返回表达式中所有值的统计变异数<br />
　　&#8211;VARP()<br />
　　&#8211;VARP()函数返回总体变异数<br />
　　&#8212;-算术函数&#8212;-<br />
　　/***三角函数***/<br />
　　SIN(float_expression) &#8211;返回以弧度表示的角的正弦<br />
　　COS(float_expression) &#8211;返回以弧度表示的角的余弦<br />
　　TAN(float_expression) &#8211;返回以弧度表示的角的正切<br />
　　COT(float_expression) &#8211;返回以弧度表示的角的余切<br />
/***反三角函数***/<br />
　　ASIN(float_expression) &#8211;返回正弦是FLOAT 值的以弧度表示的角<br />
　　ACOS(float_expression) &#8211;返回余弦是FLOAT 值的以弧度表示的角<br />
　　ATAN(float_expression) &#8211;返回正切是FLOAT 值的以弧度表示的角<br />
　　ATAN2(float_expression1,float_expression2)<br />
　　&#8211;返回正切是float_expression1 /float_expres-sion2的以弧度表示的角<br />
　　DEGREES(numeric_expression)<br />
　　&#8211;把弧度转换为角度返回与表达式相同的数据类型可为<br />
　　&#8211;INTEGER/MONEY/REAL/FLOAT 类型<br />
　　RADIANS(numeric_expression) &#8211;把角度转换为弧度返回与表达式相同的数据类型可为<br />
　　&#8211;INTEGER/MONEY/REAL/FLOAT 类型<br />
　　EXP(float_expression) &#8211;返回表达式的指数值<br />
　　LOG(float_expression) &#8211;返回表达式的自然对数值<br />
　　LOG10(float_expression)&#8211;返回表达式的以10 为底的对数值<br />
　　SQRT(float_expression) &#8211;返回表达式的平方根<br />
　　/***取近似值函数***/<br />
　　CEILING(numeric_expression) &#8211;返回&gt;=表达式的最小整数返回的数据类型与表达式相同可为<br />
　　&#8211;INTEGER/MONEY/REAL/FLOAT 类型<br />
　　FLOOR(numeric_expression) &#8211;返回&lt;=表达式的最小整数返回的数据类型与表达式相同可为<br />
　　&#8211;INTEGER/MONEY/REAL/FLOAT 类型<br />
　　ROUND(numeric_expression) &#8211;返回以integer_expression 为精度的四舍五入值返回的数据<br />
　　&#8211;类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型<br />
　　ABS(numeric_expression) &#8211;返回表达式的绝对值返回的数据类型与表达式相同可为<br />
　　&#8211;INTEGER/MONEY/REAL/FLOAT 类型<br />
　　SIGN(numeric_expression) &#8211;测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型<br />
　　&#8211;与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型<br />
　　PI() &#8211;返回值为π 即3.1415926535897936<br />
　　RAND([integer_expression]) &#8211;用任选的[integer_expression]做种子值得出0-1 间的随机浮点数<br />
&#8212;-字符串函数&#8212;-<br />
　　ASCII() &#8211;函数返回字符表达式最左端字符的ASCII 码值<br />
　　CHAR() &#8211;函数用于将ASCII 码转换为字符<br />
　　&#8211;如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值<br />
　　LOWER() &#8211;函数把字符串全部转换为小写<br />
　　UPPER() &#8211;函数把字符串全部转换为大写<br />
　　STR() &#8211;函数把数值型数据转换为字符型数据<br />
　　LTRIM() &#8211;函数把字符串头部的空格去掉<br />
　　RTRIM() &#8211;函数把字符串尾部的空格去掉<br />
　　LEFT(),RIGHT(),SUBSTRING() &#8211;函数返回部分字符串<br />
　　CHARINDEX(),PATINDEX() &#8211;函数返回字符串中某个指定的子串出现的开始位置<br />
　　SOUNDEX() &#8211;函数返回一个四位字符码<br />
　　&#8211;SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值<br />
　　DIFFERENCE() &#8211;函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异<br />
　　&#8211;0 两个SOUNDEX 函数返回值的第一个字符不同<br />
　　&#8211;1 两个SOUNDEX 函数返回值的第一个字符相同<br />
　　&#8211;2 两个SOUNDEX 函数返回值的第一二个字符相同<br />
　　&#8211;3 两个SOUNDEX 函数返回值的第一二三个字符相同<br />
　　&#8211;4 两个SOUNDEX 函数返回值完全相同<br />
QUOTENAME() &#8211;函数返回被特定字符括起来的字符串　<br />
select quotename(&#8216;abc&#8217;, &#8216;{&#8216;) quotename(&#8216;abc&#8217;)<br />
　　运行结果如下<br />
　　&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-{<br />
　　{abc} [abc]*/<br />
　　REPLICATE() &#8211;函数返回一个重复character_expression 指定次数的字符串<br />
　　以下是引用片段：　<br />
select replicate(&#8216;abc&#8217;, 3) replicate( &#8216;abc&#8217;, -2)<br />
　　运行结果如下<br />
　　&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211;<br />
　　abcabcabc NULL*/<br />
　　REVERSE() &#8211;函数将指定的字符串的字符排列顺序颠倒<br />
　　REPLACE() &#8211;函数返回被替换了指定子串的字符串<br />
　　/*select replace(&#8216;abc123g&#8217;, &#8217;123&#8242;, &#8216;def&#8217;)<br />
　　运行结果如下<br />
　　&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211;<br />
　　abcdefg*/<br />
　　SPACE() &#8211;函数返回一个有指定长度的空白字符串<br />
　　STUFF() &#8211;函数用另一子串替换字符串指定位置长度的子串<br />
　&#8212;-数据类型转换函数&#8212;-<br />
　　CAST() 函数语法如下　<br />
CAST() ( AS [ length ])<br />
　　CONVERT() 函数语法如下　<br />
CONVERT() ([ length ], [, style])<br />
　<br />
select cast(100+99 as char) convert(varchar(12), getdate())<br />
　　运行结果如下<br />
　　&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;<br />
　　199 Jan 15 2000<br />
　　&#8212;-日期函数&#8212;-<br />
　　DAY() &#8211;函数返回date_expression 中的日期值<br />
　　MONTH() &#8211;函数返回date_expression 中的月份值<br />
　　YEAR() &#8211;函数返回date_expression 中的年份值<br />
　　DATEADD( , ,)<br />
　　&#8211;函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期<br />
　　DATEDIFF( , ,)<br />
　　&#8211;函数返回两个指定日期在datepart 方面的不同之处<br />
　　DATENAME( , ) &#8211;函数以字符串的形式返回日期的指定部分<br />
　　DATEPART( , ) &#8211;函数以整数值的形式返回日期的指定部分<br />
　　GETDATE() &#8211;函数以DATETIME 的缺省格式返回系统当前的日期和时间<br />
&#8212;-系统函数&#8212;-<br />
　　APP_NAME() &#8211;函数返回当前执行的应用程序的名称<br />
　　COALESCE() &#8211;函数返回众多表达式中第一个非NULL 表达式的值<br />
　　COL_LENGTH(&lt;&#8217;table_name&#8217;&gt;, &lt;&#8217;column_name&#8217;&gt;) &#8211;函数返回表中指定字段的长度值<br />
　　COL_NAME(, ) &#8211;函数返回表中指定字段的名称即列名<br />
　　DATALENGTH() &#8211;函数返回数据表达式的数据的实际长度<br />
　　DB_ID(['database_name']) &#8211;函数返回数据库的编号<br />
　　DB_NAME(database_id) &#8211;函数返回数据库的名称<br />
　　HOST_ID() &#8211;函数返回服务器端计算机的名称<br />
　　HOST_NAME() &#8211;函数返回服务器端计算机的名称<br />
　　IDENTITY([, seed increment]) [AS column_name])<br />
　　&#8211;IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中　<br />
/*select identity(int, 1, 1) as column_name<br />
　　into newtable<br />
　　from oldtable*/<br />
　　ISDATE() &#8211;函数判断所给定的表达式是否为合理日期<br />
　　ISNULL(, ) &#8211;函数将表达式中的NULL 值用指定值替换<br />
　　ISNUMERIC() &#8211;函数判断所给定的表达式是否为合理的数值<br />
　　NEWID() &#8211;函数返回一个UNIQUEIDENTIFIER 类型的数值<br />
　　NULLIF(, )<br />
　　&#8211;NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值<br />
sql中的保留字<br />
　　action add aggregate all<br />
　　alter after and as<br />
　　asc avg avg_row_length auto_increment<br />
　　between bigint bit binary<br />
　　blob bool both by<br />
　　cascade case char character<br />
　　change check checksum column<br />
　　columns comment constraint create<br />
　　cross current_date current_time current_timestamp<br />
　　data database databases date<br />
　　datetime day day_hour day_minute<br />
　　day_second dayofmonth dayofweek dayofyear<br />
　　dec decimal default delayed<br />
　　delay_key_write delete desc describe<br />
　　distinct distinctrow double drop<br />
　　end else escape escaped<br />
　　enclosed enum explain exists<br />
　　fields file first float<br />
　　float4 float8 flush foreign<br />
　　from for full function<br />
　　global grant grants group<br />
　　having heap high_priority hour<br />
　　hour_minute hour_second hosts identified<br />
　　ignore in index infile<br />
　　inner insert insert_id int<br />
　　integer interval int1 int2<br />
　　int3 int4 int8 into<br />
　　if is isam join<br />
　　key keys kill last_insert_id<br />
　　leading left length like<br />
　　lines limit load local<br />
　　lock logs long longblob<br />
　　longtext low_priority max max_rows<br />
　　match mediumblob mediumtext mediumint<br />
　　middleint min_rows minute minute_second<br />
　　modify month monthname myisam<br />
natural numeric no not<br />
　　null on optimize option<br />
　　optionally or order outer<br />
　　outfile pack_keys partial password<br />
　　precision primary procedure process<br />
　　processlist privileges read real<br />
　　references reload regexp rename<br />
　　replace restrict returns revoke<br />
　　rlike row rows second<br />
　　select set show shutdown<br />
　　smallint soname sql_big_tables sql_big_selects<br />
　　sql_low_priority_updates sql_log_off sql_log_update sql_select_limit<br />
　　sql_small_result sql_big_result sql_warnings straight_join<br />
　　starting status string table<br />
　　tables temporary terminated text<br />
　　then time timestamp tinyblob<br />
　　tinytext tinyint trailing to<br />
　　type use using unique<br />
　　unlock unsigned update usage<br />
　　values varchar variables varying<br />
　　varbinary with write when<br />
　　where year year_month zerofill</p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/34.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>抗灾救灾，众“支”成城</title>
		<link>http://freefeet.net/archives/7.html</link>
		<comments>http://freefeet.net/archives/7.html#comments</comments>
		<pubDate>Thu, 15 May 2008 01:43:06 +0000</pubDate>
		<dc:creator>商业智能盟主</dc:creator>
				<category><![CDATA[生活点滴]]></category>
		<category><![CDATA[地震]]></category>
		<category><![CDATA[汶川]]></category>
		<category><![CDATA[献爱心]]></category>

		<guid isPermaLink="false">http://freefeet.net/archives/7.html</guid>
		<description><![CDATA[    2008年对要大步发展的中国而言的确是多灾多难的一年，股票下跌、手足口病、藏独等事件已经让08年变得不大稳定了，突如其来的汶川大地震又一下夺取了一万四千多条的性命，而且这个... ]]></description>
			<content:encoded><![CDATA[<p class="PostContent"><a target="_blank" href="http://marslau.com"><img width="483" src="http://marslau.com/wp-content/uploads/2008/05/earthquake.jpg" alt="爱心大地震" height="66" style="width: 415px; height: 63px" /></a></p>
<p>    2008年对要大步发展的中国而言的确是多灾多难的一年，股票下跌、手足口病、藏独等事件已经让08年变得不大稳定了，突如其来的汶川大地震又一下夺取了一万四千多条的性命，而且这个数字还在不断上升，关于地震的情况，各媒体也是24小时滚动不断的播出，向关注汶川大地震的人们传达最新消息。</p>
<p>    我听过这么一个故事，一位母亲的孩子在四川工作，地震后的两三天时间里她打电话一直打不通，当偶尔有一次突然接通了孩子的电话，听到了她孩子的声音，她什么也说不出了，竟大哭起来。</p>
<p>    汶川大地震牵动的不止只是灾区亲人的心，更是牵动了整个中华民族的心，这些日子社会各界也纷纷献出爱心，体育娱乐明星都做了一些不错的带头作用，但这应该是整个社会的责任，如果一人捐一元钱整个华人就能捐13亿，让我们齐心协力共度难关。天无情，人有情，让我们各自尽自己的一份力，并调动身边人的热情，为自己的同胞们做出自己的贡献吧！</p>
]]></content:encoded>
			<wfw:commentRss>http://freefeet.net/archives/7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
