原文地址(英文):

http://wiki.scn.sap.com/wiki/display/BOBJ/Conversion+from+Desktop+Intelligence+to+Web+Intelligence#ConversionfromDesktopIntelligencetoWebIntelligence-VisualBasicDataProvider

作者:Hansen Chen 现就职于SAP


在这篇文章中,我们将会比较Web IntelligenceWebi)和Desktop Intelligence在各个功能实现方面的不同点,

从而让您更好的完成报表从DeskIWebi的转换。一般来说,BI4.0Webi继承了来自DeskI大部分的功能。

尽管可能一些功能的实现要依赖于替代方案(workaround)来实现。

第一部分提供了一个DeskIWebi在功能方面的基本概况,第二部分详细的描述了功能的变更。


关于Desktop Intelligence和Web Intelligence功能方面的比较(概述)

(tick) 这个功能被完整的保存,或者可能需要更换操作流程来实现它

(warning) 这个功能部分保存,有一个不同的操作流程或者依赖于替代方案来实现

(error) 这个功能被移除

不可以被转换的功能 DeskI Webi3.1 Webi 4.0
#OLAP 数据提供者 (warning) (tick) (tick)
#XML 数据提供者 (tick) (warning) (warning)
#Visual Basic 数据提供者 (tick) (warning) (warning)
#Freehand-SQL (tick) (warning) (warning)
#使用运算符进行过滤 (tick) (warning) (warning)
#用户自定义对象 (tick) (error) (error)
用防护密码保存文件 (tick) (error) (error)
可以部分被转换的功能
#设置自动刷新 (tick) (error) (error)
#在measure中使用分析范围过滤器 (tick) (tick) (tick)
#内容运算符 (tick) (tick) (tick)
#方差和方差的百分比计算 (tick) (error) (error)
#通过公式设置复杂的过滤器格式 (tick) (error) (warning) (error) (warning)
#块(block)和全局过滤器 (tick) (warning) (warning)
#在块中设置一个measure作为过滤器 (tick) (tick) (tick)
#在多个dimension中插入同等级的拆分(break) (tick) (warning) (warning)
#为一个不在块中的对象设置拆分 (tick) (warning) (warning)
基于值(value)的拆分 (tick) (warning) (warning)
#DeskI功能 (tick) (tick) (tick)
#为一个不在块中的对象排序 (tick) (warning) (warning)
#双轴列型图 (tick) (warning) (tick)
#不同的组(group)构成的统计图 (tick) (error) (error)
#通过VBA宏来自定义和拓展功能 (tick) (warning) (warning)
#在交叉表中设置越界(Across Edge) (tick) (error) (error)
#在页眉页脚中设置拆分 (tick) (error) (error)
可以被完全转换的功能,但是包含一些变更
折叠/展开 (tick) (warning) (tick)
对query排序 (tick) (error) (error)
获取(Retrieve)上数N行的数据 (tick) (warning) (warning)
“删除结尾空白”的功能 (tick) (warning) (warning)
“不要获取数据”的功能 (tick) (tick) (tick)
“不要在执行报表前生成SQL语句”的功能 (tick) (warning) (warning)
在公式中排序 (tick) (error) (warning) (error) (warning)
Windows OLE对象 (tick) (error) (error)
图片格式 (tick) (tick) (tick)
动态图片或OLE对象 (tick) (error) (error)
页面设置功能 (tick) (tick) (tick)
数据格式 (tick) (tick) (tick)
单元格阴影 (tick) (warning) (warning)
变量描述 (tick) (warning) (warning)
用组中的多个值来定义变量 (tick) (warning) (warning)
在统计图中的序列(Series)的颜色 (tick) (error) (error)
存储过程作为数据提供者 (tick) (tick) (tick)
多个列的表(table) (tick) (error) (error)
设置负数来实现模块的关联 (tick) (error) (error)
将模块集中在页面的某一位置 (tick) (error) (error)
通过条件控制隐藏节(Section),表,统计图,dimension (tick) (warning) (tick)
常用功能的比较
数据管理 (tick) (error) (tick)
选择Universe (tick) (tick) (tick)
公式编辑器的可用性 (tick) (warning) (warning)
在公式编辑器中调用值的一览 List of Value(LOV) (tick) (error) (error)
个人的List of Value (tick) (error) (warning)
用户定义hierarchies (tick) (error) (error)
通过日,周或月来预定义一些排序 (tick) (warning) (warning)
在排名定义面板中添加小计和百分比 (tick) (warning) (warning)
打印到当前页面 (tick) (error) (tick)
在文件中搜索 (tick) (tick) (tick)
拆分窗格来固定表头 (tick) (error) (error)
模板 (tick) (error) (error)
查看结构 (tick) (tick) (tick)
刷新Universe (tick) (error) (error)
缩放网络图像 (tick) (warning) (warning)
重复的变量 (error) (tick) (tick)
查看全部报表的结构 (warning) (tick) (tick)
Prompt顺序 (warning) (tick) (tick)
用户输入prompt (tick) (tick) (tick)
为个人数据更改对象类型 (error) (tick) (tick)
同步的数据提供者 (error) (tick) (tick)
在Office文件中复制/粘贴文本格式的表 (error) (warning) (tick)
以HTML格式把报表保存到我的电脑 (tick) (error) (error)
以CSV(数据)的格式把报表保存到我的电脑 (tick) (tick) (tick)
以TXT格式把报表保存到我的电脑 (tick) (warning) (warning)
以RTF格式把报表保存到我的电脑 (tick) (error) (warning)
发布传送规则 (tick) (error) (error)
发布方法 (tick) (warning) (warning)
以Excel,PDF,CSV格式发送邮件 (tick) (tick) (tick)
计划到打印机 (tick) (error) (warning) (error) (warning)
输出到XML (tick) (error) (warning) (error) (warning)
Webi中的新功能
在DesI中没有相应的替代功能
创建客户定义的功能函数 (error) (tick) (tick)
可选的prompt (error) (tick) (tick)
合并单元格 (error) (tick) (tick)
queries的排列(又叫数据库排列) (error) (tick) (tick)
显示/隐藏空表 (error) (warning) (tick)
支持数据库依存的measure集合 (error) (tick) (tick)
对于一个单元格定义相对/绝对位置 (error) (tick) (tick)
排名累计总和 (error) (tick) (tick)
表中的交替行颜色设置 (error) (tick) (tick)
报警器设置多个条件 (error) (tick) (tick)
在DesI中没有替代策的功能
动态过滤器(输入控件) (error) (tick) (tick)
query剥离 (error) (tick) (tick)
跟踪数据变化 (error) (tick) (tick)
在Server端把排列作为Query过滤器 (error) (tick) (tick)
改进prompting (error) (tick) (tick)
格式刷 (error) (tick) (tick)
网页钻取 (error) (tick) (tick)
改进图标功能(CVOM) (error) (error) (tick)
分层导航(Dimensional SL) (error) (error) (tick)
复制/粘贴增强 (error) (error) (tick)
WebI新的数据源
支持SAP数据源 (error) (tick) (tick)
支持Dimensional UNX (error) (error) (tick)
支持Muti-Source UNX (error) (error) (tick)
Bex query的BICS 连接 (error) (error) (tick)
Analysis View(与SAP BusinessObjects Analysis的交互) (error) (error) (tick)

1. 不可以被转换的功能


不是所有的DeskI文件都可以通过Report Conversion Tool(RTC)进行转换。能转换到什么程度取决于原报表使用的功能。

Web Intelligence中不存在的功能无法完成转换。在这部分中,我们会列出DeskI中不能被转换的功能,并且提供WebI中实现此功能的替代方案。


OLAP 数据提供者
DeskI DesI支持很多类型的OLAP数据提供者。
WebI

在WebI中,user可以不通过OLAP数据提供者而通过OLAP universe来创建文件。特别是在BI4.0中,你可以在最高空间的语义层中创建报表。

而且这有助于更好地实现OLAP功能。由OLAP数据提供者创建的DeskI文件不能被成功转换,你需要创建一个UNX universe然后再基于这个

universe创建报表。

XML 数据提供者

DeskI 在DeskI中,XML可以直接作为数据提供者。
WebI

由XML构成的DeskI文件,不可以用RCT转换。

在WebI中,你可以使用第三方的DB drivers连接到XML,然后基于Universe构成报表,请参考以下文章:

1.通过universe访问XML数据  https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/11419

2.用Oracle通过语义层访问XML数据  https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/11424

3.通过IBM DB2工具以及Web服务访问XML数据  https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/11428

您也可以选择使用Custom Data Provider 插件来开发您自己的数据提供者,允许您在Web Intelligence中使用可能的任何数据提供者。

开发者文档如下:

http://help.sap.com/businessobject/product_guides/boexir31SP2/en/xi31_sp2_cdp_dev_en.pdf

Visual Basic 数据提供者

DeskI 在DeskI中,Visual Basic可以直接作为数据提供者。
WebI Visual Basic做成的DeskI不能被转换。然而,

您也可以选择使用Custom Data Provider 插件来开发您自己的数据提供者,允许您在Web Intelligence中使用可能的任何数据提供者。

开发者文档如下:

http://help.sap.com/businessobject/product_guides/boexir31SP2/en/xi31_sp2_cdp_dev_en.pdf

基本上这个应该可以让Visual Basic数据提供者在WebI中重新使用。

Freehand-SQL

DeskI

在DeskI中,Freehand-SQL可以直接作为数据提供者。

WebI 在RCT中,您可以勾选“Convert with freehand-SQL”完成转换
使用运算符进行过滤
DeskI

在DeskI中,您可以在query panel中定义运算符,例如,下面是由运算符生成的查询

Select col1,col2,col3

from table1

group by col1,col2

having ( sum(col3) > all

select sum(col3)

from table1

group by col4

)

WebI

这个类型的DeskI文件不能被转换,WebI没有这个快捷方式,但是可以各个query自行定义。

例如,要实现上述功能,你需要创建两个query。

query1

select col4,sum(col3)

from table1

group by col4;

query2

Select col1,col2,col3

from table1

group by col1,col2

having sum(col3) > @dapvalue('N', DP0.D093, MAX)

用户自定义对象
DeskI 在DeskI中,权限足够的用户可以为Universe的对象赋予变量(变量可以重复使用在报表中)。通过这个功能,你可以定向改变从universe中得到的数据。例如:在从DB中得到的数据后面加上字符串,更改universe的定义(从Dimension改成Measure或Detail)
WebI

带有用户自定义对象的文件不能被转换。您可以在既存universe中创建同样对象,替代DeskI中的用户自定义对象,然后在进行zhuanhuan。

在Webi中实现类似功能:

1.创建一个变量,把一个既存的dimension改成detail或者measure

2.在数据源上创建过滤器

3.从一个文件中复制粘贴变量到另一个文件

用防护密码保存文件
DeskI 在保存界面,你可以设置防护密码。
WebI Webi不支持此功能。CMS中的认证方式替代了这个功能,带有防护密码保护的DeskI文件将不能被成功转换。请您在转换之前手动删除密码保护。
此外,如果DeskI文件中包含的变量引用了另一个不可以被转换的变量,则文件不能被转换。您需要手动更改这些变量在进行转换。

2. 可以部分被转换的功能

相同的任务可以在DeskI和WebI中以不同的方式被实现。在这部分中,我们会列出这些功能并且讨论他们在DeskI和WebI中是如何工作的。

设置自动刷新
DeskI 在文件层面,DeskI文件可以设置自动刷新。
WebI WebI需要依赖于BI Launch Pad(InfoView)去计划刷新,在转换的过程中,刷新的设置被删除掉了。在转换完成后,您可以计划此报表来完成刷新的操作。
measure中使用分析范围过滤器
DeskI

在DeskI中,如果一个query同时包含“分析范围过滤器”和“汇总过滤器”,分析范围过滤器会作为Having过滤器的一部分被表现出来,参考下面的例子:

SELECT

sum(TEST2.CODE),

TEST2.CODE,

TEST2.NUMBER,

TEST2.PRICE

FROM

TEST2

GROUP BY

TEST2.CODE,

TEST2.NUMBER,

TEST2.PRICE

HAVING

( sum(TEST2.CODE) > 0 )

WebI

WebI通过另一种方式生成query

SELECT

sum(TEST2.CODE),

TEST2.CODE,

TEST2.NUMBER,

TEST2.PRICE

FROM

TEST2

WHERE

CHAR(TEST2.CODE) ||' '|| CHAR(TEST2.NUMBER) In

(

SELECT

CHAR(TEST2.CODE) ||' '|| CHAR(TEST2.NUMBER)

FROM

TEST2

GROUP BY

CHAR(TEST2.CODE) ||' '|| CHAR(TEST2.NUMBER)

HAVING sum(TEST2.CODE) > 0

)

GROUP BY

TEST2.CODE,

TEST2.NUMBER,

TEST2.PRICE

当使用Report conversion tool进行转换的时候,query会被变成WebI展现的方式。WebI的表现方式更符合大多数使用情况,因为DeskI中的query有时根据user不能返回数据。

内容运算符
DeskI 在DeskI中,您可以在一个函数中使用内容运算符,比如 Where
WebI 文件将会被部分转换。包含内容运算符的变量将在转换的过程中被删除。虽然在WebI中,大多数的内容运算符都被保留下来。用户可以重新创建这些变量,除了“In Currentpage”这个运算符。除此之外,WebI中的“Where”可以支持更多的符号,例如Inlist,>,<等。
方差和方差的百分比计算
DeskI

在DeskI中,有用于计算两个选定值之差的快捷方式。

WebI 包含这个功能的文件将会被部分的转换。在转换过程中,运算将会被移除。在Webi中,除了用交叉表,选择水平或垂直表,保持一个dimension原状,把另一个dimension变为变量,如:[Revenue] where ([City]=”City1″), [Revenue] where ([City]=”City2″),再建一个变量:[Revenue] where ([City]=”City1″) – [Revenue] where ([City]=”City2″)就可以完成这个计算。最终垂直或水平表将会展现出交叉表所展示的期待的差值运算。
通过公式设置复杂的过滤器格式
DeskI

在DeskI中,这个功能允许公式去定义一个过滤请求是否能被完成。操作流程是:右键点击表->设置过滤器格式->定义->添加一个变量->定义。

用户可以创建类似这样的公式:show me all data where varA < varB” with the feature.

WebI

可以被部分转换。在转换过程中过滤器被删除。在WebI中,可以通过变量完成此功能。操作流程是:直接创建一个类似变量:

varC = if (varA < varB) then 1 else 2″, then add a filter like “varC = 1

(block)和全局过滤器
DeskI

在“过滤器格式”页面,你可以从多个块中拖拽过滤器,并且可以把它们做成全局过滤器。

WebI 在转换过程中,一些情况下复杂的块和全局过滤器可能会被删除。在WebI中,不可以从多个块中拖拽过滤器,您需要手动的为每个块增设过滤器。您也可以选择使用输入控件(Input Control)来实现过滤功能。它提供了选择过滤器范围的功能。

在块中设置一个measure作为过滤器

DeskI DeskI可以实现这个功能。
WebI 在转换过程中设定被移除。您可以在转换完成后添加过滤器,或者考虑使用输入控件。
在多个dimension中插入同等级的拆分(break)
DeskI 当定义一个拆分的时候,您可以在同一个简单的level对不同列做拆分
WebI 在转换过程中,设定被移除。Webi中,可以通过格式选项来完成这一功能。例如,您可以首先创建2个拆分,在“管理拆分”界面,把其中一个拆分设置显示页眉页脚,而另一个不显示。
为一个不在块中的对象设置拆分
DeskI 在DeskI中可以实现这一功能。
WebI 在转换过程中拆分被移除,在WebI中,您可以把一个不再块中的列上设置节来实现这一功能,然后移除节的标签
基于值(value)的拆分
DeskI 当定义拆分的时候,你可以从要做拆分的dimension中选择拆分的值。例如:当dimension<City>包含这些值:DC, Boston和Seattle,您可以只在”DC”上做一个拆分,另外的值不会受到拆分的影响。
WebI

转换过程中拆分被移除,在WebI中,同样的功能(其实仅仅是看起来一样…)可以通过公式设置来完成。例如:创建一个变量如下:

=If ([City]=”DC”) Then “DC” Else “Other cities”

再在变量上设置节,最后移除掉节的标签。

DeskI功能
DeskI DeskI中有一些WebI没有的独特功能,例如:ApplicationValue, BlockNumber, CurrentPage, GetProfileNumber, GetProfileString, Hyperlink, OLAPQueryDescription, PageInSection.
WebI

在转换过程中,这些功能被RepFormula(“original_syntax”)所替代。此外,CountAll功能变更为Count([object_name]; IncludeEmpty; All)

MultiCube重命名为ForceMerge

为一个不在块中的对象排序
DeskI

在DeskI中为了实现这一功能,您需要添加一个不再块中的dimension作为拆分,在拆分的定义中,把拆分的页眉和页脚无效化,

然后这个看不见的拆分就会看起来像一个表中的排序了。

WebI 转换过程中排序被移除。栽WebI4.0中,您可以在表中添加一个额外的列,进行排序,然后再把这个列移除掉。
双轴列型图
DeskI 在DeskI中,您可以创建双Y轴折线图,可以用来展示不同的measure,通过在Axes and Gridlines界面有效化辅助Y轴来实现
WebI 转换中只有第一个Y轴被保存。在3.1中,您可以创建分离统计图。4.0中,WebI保留了DeskI的一部分统计图功能,包含了双轴列型图,并且添加了许多DeskI中没有的统计图类型。
不同的组(group)构成的统计图
DeskI DeskI允许不同组的数据来构成一个统计图。在统计图格式界面,您可以添加额外的组。每一个组都可以有不同的统计图类型。
WebI WebI不支持这一功能,转换后只有第一个组会被保留。
通过VBA宏来自定义和拓展功能
DeskI DeskI中,VBA可以被windows应用程序所使用,而不是基于网页的应用程序
WebI

转换过程中VBA宏被删除。

VBA宏更经常被用于完成publishing的工作,现在由Platform来完成。

(http://help.sap.com/businessobject/product_guides/boexir31SP3/en/xi31_sp3_publisher_en.pdf)


此外,WebIntelligence中也有许多可用的用户自定义功能。您可以使用Calculation Extension Pointslai创建自己的功能函数。您可以通过 ReportEngine SDK来自定义WebI报表的表现形式。使用Extension Points来完成WebIntelligence Report viewer的自定义;使用Custom Data Source Framework来自定义您的数据提供者。请参考如下文档:

1.额外功能的创建(WebI的格式语言中可用的自定义功能)

http://help.sap.com/businessobject/product_guides/boexir31SP2/en/xi31_sp2_webi_calc_ext_en.pdf

2.报表执行时的自定义(文件的执行,prompts,钻取,报表元素,等等…),通过ReportEngine SDK (JAVA and .NET)来实现。

语言样板: http://www.sdn.sap.com/irj/boc/samples?rid=/webcontent/uuid/30e2b6d2-2784-2b10-59b6-95b2d8c50a02

重建对象模型: http://help.sap.com/javadocs/boe/xi/re/en/index.html

3.自定义WebI报表的接口,通过 Extension Points (DHTML, Java Report Panel, WRC)来实现。

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/18429, http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/20858,

http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/17696 

4.数据提供者的创建 :WebIntelligence Custom Data Source (CDS) Framework是WebI胖客户端中提供的一个插件

http://help.sap.com/businessobject/product_guides/boexir31SP2/en/xi31_sp2_cdp_dev_en.pdf

在交叉表中设置越界(Across Edge)
DeskI 在DeskI中,您可以设置交叉表中越界的显示和隐藏。
WebI 在转换过程中,设定被移除
在页眉页脚中设置拆分
DeskI DeskI中有这个功能。
WebI 在转换过程中设置被移除。
通过Report Conversion Tool,除了这些只能部分被转换的文件,您可能发现还有一些不能被发布(publish)的文件。这是因为RCT不能找到关联的universe,这些文件可以被正常的打开和浏览,但是不能刷新。

3.可以被完全转换的功能,但是包含一些变更

因为WebI通过一些不同的方式实现一个功能,所以当转换完成后文件可能有一些改变。在这部分中,我们会列出所有转换中可能存在的改变。

折叠/展开
DeskI 在DeskI中,您可以折叠/展开表,节和拆分。
WebI

在WebI中,XI3.1 SP2以后开始支持这一功能。转换后,报表中的所有元素都是展开的。

在BI4.0中,该功能已经得到了加强,折叠垂直和水平方向上的节,表和拆分都成为了可能。而且,你可以在web上完成折叠/展开操作,而这一操作在DeskI中是无法完成的。

query排序
DeskI 在DeskI中,您可以在query级别设置排序
WebI WebI不支持此功能,在转换过程中,此功能被移除。在WebI中支持报表级别的排序

获取(Retrieve)上数N行的数据

DeskI DeskI中,您可以在设计query的时候进行排序操作,并且在query选项面板,通过设置行数来获取一部分的数据。通过前面两个功能,可以实现获取上数N行的数据。
WebI 在WebI中,您可以选择要获取的行数,但是您不可以在query level进行排序,所以您不可以直接实现这个功能。无论如何,您可以选择使用排名(Rank)这一功能。在转换过程中,排序被移除,您需要在报表级别重新定义排序。
“删除结尾空白”的功能
DeskI DeskI用户可以在query panel面板中同步实现此功能。
WebI

此功能在转换过程中被移除。在WebI中,此功能应在universe level实现。但是对于本地的资源来说,您必须编辑单元格来删除结尾的空白,

在4.0以后,您可以通过“合并变量”来实现删除前后的空白后合并这一功能。

“不要获取数据”的功能
DeskI 不用获取数据就可以构建报表结构。
WebI 在转换过程中功能被移除。在WebI中,您可以通过一个不同的方式实现这一功能。在编辑query panel界面,“关闭”按钮的旁边有一个箭头,点击这个箭头,您可以看见两个选项“应用更改并关闭”和“恢复更改并关闭”,如果您选择第一个选项,您会转到编辑报表模式,然后您就实现了不获取数据构建报表的架构的过程。在4.0以后,您可以首先创建报表,然后再从数据提供者中取得数据。
“不要在执行报表前生成SQL语句”的功能
DeskI 在定义query的时候有这个设定。
WebI 在转换过程中设定被移除。在WebI中,有个选项叫做“使用自定义SQL”,也可以防止编辑好的SQL被重写。
在公式中排序
DeskI DeskI可以实现此功能。
WebI 在WebI中,您可以创建一个变量然后在变量上设置排序。在转换过程中,一个变量会被自动创建,然后排序会创建在变量上。
Windows OLE对象
DeskI DeskI可以包含Windows OLE对象。
WebI WebI不支持此功能。在转换过程中,OLE对象会变为GIF格式
图片格式
DeskI DeskI中,内嵌的图片保存在TIFF格式中。
WebI 在转换过程中,会变为GIF格式
动态图片或OLE对象
DeskI DeskI支持动态图片和OLE对象,例如,在运行时计算路径或者使用“Read as pictures”功能。

WebI

在转换中,对象被移除。
页面设置功能
DeskI 您可以为每一个文件设置页面选项
WebI 在转换过程中,原有的设置被移除,Web Intelligence默认的设置会被执行。
数据格式
DeskI DeskI的数据格式和WebI有一点点区别。
WebI 在转换过程中,会转为相应的WebI的数据格式
单元格阴影
DeskI DeskI中,您可以为单元格阴影设置灰色和图案
WebI 在转换过程中,阴影被移除。在WebI中,作为一个类似的功能,您可以使用背景图案功能。所有背景图片都可以加到单元格上。
变量描述
DeskI 您可以为每一个变量定义一个描述
WebI 在转换过程中,描述被移除。您可以新建一个变量来储存描述。或者把描述加进一个独立的单元格。

用组中的多个值来定义变量

DeskI 在DeskI中,通过方便的快捷图标来创建自定义视图,它通过创建一个包含values的变量来指向另一个dimension的值的子集。例如:当dimension”City”有如下的list of value:New York,DC,Los Angeles,Seattle,您可以创建一个包含2个值的变量:”East cities”(包含子集 New York 和 DC)以及 “West cities”(包含子集 Los Angeles 和 Seattle).
WebI 在转换过程中,变量变成了if-then-else型公式,WebI没有这样的快捷方式,if-then-else公式有时候会很复杂,特别是当您需要手动定义它们的时候。用户可能需要在universe level或者数据库level就考虑给值分组的事儿

在统计图中的序列(Series)的颜色

DeskI 你可以为数据序列定义颜色
WebI 转换过程中,序列和它的颜色之间的关系被移除。
存储过程作为数据提供者
DeskI 您可以直接把存储过程作为数据提供者使用。
WebI

WebI中,您需要为存储过程创建universe,再使用universe创建报表。事实上,通过存储过程创建universe应该是IT或者管理员该干的事儿。

在转换过程中,基于存储过程创建的DeskI报表会变成两部分,基于存储过程创建的universe和基于universe创建的报表。

多个列的表(table)
DeskI

在DeskI中,就像在Microsoft Word中的多列功能一样,您可以在一页中在一个简单的表上展示多个列。

操作流程:在一个表上右键,设置表格式,常规,列

WebI 在WebI中,您无法直接实现此功能。一个可能的替代策是知道索引号和过滤器,只要数据量不会波动太大。例如:当在每页中创建两列时,首先,复制表,让第一个表显示奇数行的索引号,第二个表显示偶数行的索引号。
设置负数来实现模块的关联
DeskI 在DeskI中,您可以通过负数设置把表/统计图的位置关联到其他表或统计图中。这可以使报表布局多出很多灵活性。
WebI 在WebI中不支持此功能,但是您可以用其他的表/统计图作为参考,设置正数来关联它们的相对位置。
将模块集中在页面的某一位置
DeskI 在DeskI中,您可以使单元格,表,统计图集中在页面的边缘
WebI 您需要手动设置此功能
通过条件控制隐藏节(Section),表,统计图,dimension
DeskI 通过阀值来设置隐藏内容
WebI 3.1的WebI中可以通过设置报警器来实现此功能,当条件为真(设置总为真)设置公式来交换同一列中的对象。BI4.0以后支持此功能

4. 常用功能的比较



本部分将会比较DeskI和WebI的常用功能,这些常用功能影响报表的制作和展示,但不影响转换。


数据管理
DeskI

在DeskI中,数据管理提供了如下的功能:

1.展示所有的queries和数据提供者

2.展示每一个query的总览,包括最近的刷新时间(日期/时间),行数,存在时间

3.展示query结果

4.为query的自动刷新设置计划

5.把数据导出成CSV,XML文件

WebI 在WebI中,4.0以后可以使用数据管理功能。而且query的总览可以在一个报表中展示和打印。对于计划刷新来说,WebI通过InfoView来实现它们。
选择Universe
DeskI 当不同的数据提供者指向同一个universe的时候,在文件中只对universe进行一次分析和引用。因此把一个数据提供者的universe更改了的话会更改全部的数据提供者(被重新分析)
WebI WebI中,您需要一个一个的在数据提供者中选择universe
公式编辑器的可用性
DeskI 在DeskI中,公式编辑器是上下文相关的,随着引用变量的变化,运算符也相应变化,这应该对创建公式是有指导作用的。
WebI WebI相对是静态的, 不论如何,WebI可以从很短的几个语句中自动生成接下来的对象/功能函数这有助于缩短公式的编辑时间,降低拼写错误的可能性。并且帮助框并不会为运算符提供解释(例如where语句),DeskI有这样的可用的边缘窗口,很难说那个更好一点,基于不同的操作流程各有利弊。
在公式编辑器中调用值的一览 List of Value(LOV)
DeskI 将项目添加到“in list”是一个可用的功能。
WebI 在WebI中,手动输入或者简单的通过复制粘贴取得LOV。
个人的List of Value
DeskI

个人的List of Value在universe中被创建,但是在DeskI报表中也可完成。

1.定义一个个人的List of Value的操作:工具 >universe>值列>选择一个对象>选择公司数据或者个人数据>编辑

2.在DeskI中您可以把多列的LOV当做hierarchy来浏览,操作流程:从universe或者工具编辑LOV>universes>在LOVquery中选择多个对象>

当您浏览LOV的时候,您可以看到最高level的文件夹,例如Year,然后您可以把它展开成Month,就像hierarchy一样。

3.对于一个给定的报表来说,您可以把个人数据提供者当做一个list of values

WebI

WebI中,您可以在universe level编辑LOV

4.0以后:

1.WebI可以使用OLAP数据源的hierarchy功能

2.在关系型数据源中也可以有多维度(multidimensionality)

3.个人数据提供者可以作为list of values

4.在Information Design Tool中,可以通过输入值的方式直接定义List of value

用户定义hierarchies
DeskI 您可以通过创建用户自定义hierarchy的方式覆盖掉universe中预定义的对象
WebI 在WebI中,hierarchies(亦称:4.0的导航路径)是在universe中被定义好的,所以对于使用universe的终端用户来说,不需要了解数据库阶层的数据架构。您可以简单的拖动这些对象,而不是像从前那样钻取,或者写一些公式来展示hierarchies。在4.0以后,WebI还支持OLAP数据源中定义hierarchies。
通过日,周或月来预定义一些排序
DeskI DeskI中,有为共通的时间维度排序的快捷键(日,月等)
WebI WebI可以手动的点击上/下箭头
在排名定义面板中添加小计和百分比
DeskI 在排名(Rank)定义面板中,可以实现此功能
WebI 定义公式来实现此功能
打印到当前页面
DeskI 可以把所有内容打印到一页中
WebI 3.1中没有此功能。4.0以后加入了此功能
在文件中搜索
DeskI 在一个很大的文件中,可以搜索特定的值
WebI 可以在当前页中进行搜索并展示所有结果。如果要在整个文件中搜索,在快速显示模式中,您可以为每一个虚拟页设定显示行数为1000,这样用户就可以用关键字进行搜索了。administrator可以为每一个虚拟页展示行数上限进行设定,这样有助于减少翻页的操作。
拆分窗格来固定表头
DeskI 当操作大数据的表时,这个功能很有效
WebI WebI不支持此功能。在3.1 SP2以后,您有一个替代案来完成大表中表头的展示,通过输入控件来通过行的目录来展示。
模板
DeskI 在格式化很高的报表中加入Query的结果
WebI

可以为公司的图形化标记设置默认款式。

更改config文件来定义报表的整体外观架构,编辑WebiDefaultStyleSheet.css 文件

-文件在服务器端,可以被更改

-格式是Cascading Style Sheet (CSS)

对于新的文件:

config文件会影响以下格式:

背景,字体颜色,大小,

间隔,颜色。

表头,表脚,单元格,单元格内容,

页眉,页脚,

节的title

对于已存的文件

用<清除格式>功能来展现预定义的格式

WebI还可以用格式刷来实现一个格式到另一个的复制

查看结构
DeskI 查看>结构
WebI 查看>结构模式

刷新Universe

DeskI DeskI中可以实现此功能,end user需要知道什么时候universe需要被刷新
WebI WebI不支持此功能,universe知道什么时候该刷新自己。
缩放网络图像
DeskI 支持此功能
WebI 胖客户端支持,但是web模式下的WebI不支持,只是由于HTML处理web图像制限的原因
重复的变量
DeskI 需要从草稿中制作它们
WebI WebI中,如果您要重复使用复杂的变量而又需要做一些小的改动,有快捷键来完成此功能
查看全部报表的结构
DeskI DeskI中您必须挨个查看每一张报表的结构。
WebI 只有在dHTML下可以实现此功能。
Prompt顺序
DeskI 需要删除并重新创建来完成排序操作
WebI 可以直接改变顺序
用户输入prompt
DeskI DeskI支持键盘输入,没有list of values的搜索, 必须从列表中选择
WebI 简洁的展示prompt,在LOV中搜索(+相应的选项),输入独特的值来搜索(而不是搜索一长串)
为个人数据更改对象类型
DeskI 如果想重新定义Excel中的数字类型,您必须改变输入到excel中的数据
WebI WebI中可以为个人数据更改对象类型,这有助于数据的同步展示。
同步的数据提供者
DeskI 在DeskI中,您必须点击拖动每一个对象来确定是否有另一个跟它同步的对象。
WebI WebI中,定义同步的数据提供者时,您可以在一个窗口中浏览全部,包括同步的值,向列表中加入新的对象等等。这是一个管理复杂的同步文件的很好的用户体验。
Office文件中复制/粘贴文本格式的表
DeskI DeskI中,您必须吧整个报表导出成Excel来完成导出表的操作
WebI

WebI中,您可以Office文件中复制/粘贴文本格式的表,或者直接拖拽表或统计图到Office中。因为从报表的一部分导出到Office中是一个很常见的任务。


这一功能在4.0中得到了加强。

如果用户希望用现有的内容创建一个新的分析或者报表,使用对象共享,来完成1个表或统计图到另一个文件的复制粘贴。

对于想要从Webi报表中共享或评论内容的用户来说,复制粘贴这个表或统计图到Office文件,复制模块是HTML格式的功能,可以在布标程序中编辑(只有表可以,统计图是图像)

BI4.0的WRC和Java Panel可以使用此功能。

HTML格式把报表保存到我的电脑
DeskI 支持此功能
WebI WebI在默认状态下是基于web的,所以不支持内容存为HTML。但是可以保存数据为CSV,4.0以后,格式的复制和粘贴也可以被保留。
CSV(数据)的格式把报表保存到我的电脑
DeskI DeskI中不支持吧报表数据保存为CSV,但是从Data Manager中将数据提供者的数据保存为CSV是可以的。
WebI 可以从每一个数据提供者导出数据到CSV,也可以把报表的数据导出成CSV
TXT格式把报表保存到我的电脑
DeskI 支持此功能
WebI WebI可以把数据导出成CSV,这就解决了很多的需求。
RTF格式把报表保存到我的电脑
DeskI DeskI支持此功能,表和值的格式也得以保留
WebI WebI可以保留格式的保存为CSV或Excel,这就解决了很大一部分的需求。4.0以后,WebI可以保留格式的在WebI和Office之间复制粘贴
发布传送规则
DeskI 传送规则会影响发布的处理和分布。当您为文件设置传送规则,只有当文件中内容满足某一要求时才会实行发布。对于DeskI来说,您可以制定一个公式来实现这一功能。您也可以为一个包含任何数据的个人的发布制定发布规则。
WebI WebI不支持此功能,如果您需要此功能则Crystal Report是一个选择
发布方法
DeskI 在文件发布到收件者之前,文件中的数据就会被刷新。这个过程称之为“report bursting”,DeskI有一个选项是“为一批收件人定义一个数据库”,这个功能会根据发布者的用户权限来刷新数据。可以为指定的收件人划分某一批次可以看的个人数据。
WebI WebI的具有动态收件人的发布只有两个选项:一个数据库给所有收件人,每个收件人特定的数据库
ExcelPDFCSV格式发送邮件
DeskI DeskI可以将.rep文件以email的形式发出,无法从用户的接口中直接发送DeskI
WebI WebI支持此功能,胖客户端中有快捷键
计划到打印机
DeskI DeskI支持此功能
WebI WebI中您需要首先计划到PDF到本地,在写一个脚本来完成打印
输出到XML
DeskI DeskI支持此功能
WebI WebI不直接支持此功能,但是可以通过Extension Point完成它。



5. 被优化的功能


一些操作在WebI中得以优化。这部分将会讨论从DeskI到WebI中被改善的功能


创建客户定义的功能函数
DeskI 在DeskI中,通过VBA可能会实现此功能,但是不能在服务器端一次为所有客户端设置。
WebI 在WebI中此功能整合的很完善。在公式编辑器中新功能被很好的展现出来(如果您希望获得更多的创建外部功能的情报,您可以参考下面的文档  http://help.sap.com/businessobject/product_guides/boexir31SP2/en/xi31_sp2_webi_calc_ext_en.pdf
可选提示
DeskI DeskI不支持可选提示(可选prompt),您可以在prompt中选择所有的值,但是实现的性能会差很多
WebI 在WebI中,可以设定prompt为“可选提示”,当Prompt没有选项时候,WebI会移除掉这个过滤器来展现数据
合并单元格
DeskI 您只能在设置报表格式的时候实现这一功能
WebI WebI支持此功能。您只需要在单元格上点击右键,然后选择“合并”
queries的排列(又叫数据库排列)
DeskI 无法对Query排列,您可以在报表中设置排名或者定义行的限制以及多重的query排序来实现这一功能。
WebI 只要Database支持这一功能就可以实现
显示/隐藏空表
DeskI 您需要手动设置条件语句来实现这一功能
WebI 4.0以后,这个功能可以随时打开关闭。3.1中,您需要在隐藏的对象中点击“显示”
支持数据库依存的measure集合
DeskI DeskI中,您必须从不同层次的hierarchy中设置检索分组集,然后在公共dimension设置同步。否则,DeskI会无法处理一些数据聚合的问题(比如比率),从而导致错误的结果。
WebI WebI支持此功能,叫做“smart measures”
对于一个单元格定义相对/绝对位置
DeskI DeskI不支持此功能。您可以把表当做单元格使用,删除中间的表格,然后固定表头。
WebI WebI支持此功能,这在设计一个复杂的报表布局时尤其有效。
排名累计总和
DeskI DeskI中,您需要使用公式来计算排名累计总和
WebI WebI可以直接使用此功能。
表中的交替行颜色设置
DeskI 您必须使用有条件格式报警器的行来实现这一功能。
WebI 为方便阅读,在WebI中是默认设置
报警器设置多个条件
DeskI

DeskI中一个报警器只能包含一个对象。如果您要创建一个类似<Revenue> < 5000) and (<Expenses> > 500的报警器,您需要使用附加变量,

步骤是:

首先创建变量:

<Variable1> = (<Revenue> < 5000) and (<Expenses> > 500)

然后在这个变量上加报警器:

<Variable1> = 1

WebI WebI支持多个对象上设置报警器,所以不需要再附加变量。文件转换为WebI以后,您可以根据原功能重新编辑优化报警器。

除此之外,WebI还提供了很多DeskI中没有的新功能。例如:输入控件,跟踪数据变化,web模式钻取,数据库取样,发布成Web Service等等。对于报表的创建和浏览都是很有帮助的。例如,您需要在DeskI中创建多个报表来展现不同scenario的数据,但是如果利用WebI的输入控件功能,您只需要创建一个报表,可以根据用户来查看他们相对应的数据。

总之,大多数的DeskI文件可以转换为WebI。对于只有DeskI才有的功能的报表文件的转换,您可以参考WebI中的替代案。而且WebI中提供的许多新功能一定会帮助您优化您的报表。


To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply